总结ie中遇到的一些问题 希望各位大神多多指教。前端小白
element 版本 2.10.1
1.在dialog 中的问题(在dialog 中修改样式不要加scoped,否则样式可能不生效 至少我遇到的都是)
1.1 在dialog 如果使用center 那么表单项部分组件会居中显示
想要组件不居中 我是不适用center 属性 想使用 标题和底部 居中,在style非scoped下el-dialog自动添加的div类名的style加上important 会覆盖默认样式
如:
el-dialog 加 custom-class="centerDialog"
.centerDialog .el-dialog__title{
width:100%;
text-align:center !important;
display:inline-block !important;
line-height:24px !important;
font-size:18px !important;
color:#303133 !important;
}
.centerDialog .el-dialog__footer{
width:100%;
text-align:center !important;
padding:4px 20px 20px !important;
}
1.2 在做登录和重置密码的时候要在input中加入自己的图标发现ie有一个眼睛的样式 查了才发现
ie中 input type=password/text 有默认样式要去掉默认样式以下(style 中不要加scoped)
.form_reset input::-ms-clear{display:none !important;}
.form_reset input::-ms-reveal{display:none !important;}
.form_reset是设置的form表单的class 为了防止影响其他页面
1.3 Table 表头不显示 打包后出现单元格异常 部分表头线条不显示??单元格多出几个??反正各种诡异的现象
做了很多尝试 开发环境解决了 但是打包出来有问题 打包好了不同屏幕显示又有问题 所以最后 直接显示了表头
(如果有遇到这个问题的小伙伴有解决办法可以私信我哟)
2 时间控件
时间控件 使用中文placeholder编辑时会无法显示时间,改成英文或去掉这个属性就能正常显示
3 table显示异常
突然遇到一个table 表头线条不显示 el-table 加上以下代码恢复正常(原因不清楚)
style="margin-top:10px;
4 .时间对象
ie不支持new Date(2019-10-10 12:00:00) 数据转换格式 因为要转换时间的地方多 我使用了插件moment
5.路由问题
我做的项目 左侧菜单栏是 从后台获取数据生成的 我一开始是获取到数据生成树结构 并同时给component 赋值 但是跳转一直有问题 后来打印才发现生成的组件有问题 最后才发现 我先生成树结构后再给 component 组件生成没有问题了
6.预览图片问题
项目中要做图片预览 下载了插件v-viewer 官网:https://github.com/mirari/v-viewer
v-viewer 插件 在ie中使用可能会出现 图片在dialog 下层的问题
Vue.use(viewer, {
defaultOptions: {
zIndex: 999999
}
});
(我使用使用版本2.10.1 的element下dialog zIndex层级从2007开始 如果有嵌套dialog会依次累加 所以使用zIndex: 999999 已经足够)
7.打开项目一片空白
ie 低版本不支持es6
安装插件 babel-polyfill (npm install --save babel-polyfill)
引入
8.前端实现页面导出为word
前端实现导出为word 依赖jQuery fileSaver wordexport 我使用的是js在首页引入
在某个组件引用的时候一直报错 所以我改成了全局引用
三个js 放在static下面的word文件中 在最外层的index.html中引入
目前整理这些 不定期更新
20191009更新
9.cascader 控件在ie和谷歌上面板字符过长显示不一致问题
在谷歌上级联选择器字数过多时
在ie下
查看代码知道他是点击input才创建的一个弹窗
我试图找到对应的class 修改样式但是没有生效
最后想通过js修改内联样式 如下
1.给级联选择器绑定事件
2.再通过js修改宽度
expandChange(){
this.$nextTick(function (){//不加$nextTick 下一级渲染会有问题
let cssObj = document.querySelectorAll(".el-cascader-menu")
document.querySelectorAll(".el-cascader-menu").forEach(item =>{
item.setAttribute("style","max-width:180px")
});
})
}
10 在ie或者360中卡
在测试中发现ie中如果存在多层弹窗会导致浏览器卡死 (
Dialog 嵌套) 想不到更好的办法于是就把效果做成一个弹窗只是内容的切换显示。
在360中发现在弹窗中使用
cascader 级联选择器就会很卡 改成了路由跳转页面 不用弹窗
以上两个都没有发现更好的解决办法 所以只能调整样式