ElementUI在IE11下兼容性修改

本文解决在IE11浏览器中使用Axios和ElementUI遇到的兼容性问题,包括Promise未定义、ES6语法不支持、ElementUI组件如搜索提示框及表格模板使用的问题,并提供具体解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在项目里面使用了axios.js来发送http请求,在IE下报错Promise未定义,解决办法:

  到http://bluebirdjs.com/docs/getting-started.html 下载 bluebird.min.js脚本加入页面,解决Promise未定义的错误

2、IE11不支持ES6的一些写法:比如=> 等等,解决办法:

  到 https://babeljs.io/repl/#?babili=false&browsers=&build=&builtIns=false&spec=false&loose=false&code_lz=Q&debug=false&forceAllTransforms=false&shippedProposals=false&circleciRepo=&evaluate=true&fileSize=false&timeTravel=false&sourceType=module&lineWrap=false&presets=es2015%2Creact%2Cstage-2&prettier=false&targets=&version=6.26.0&envVersion=将所有涉及到ES6写法的脚本转成ES5的js

 

处理了这2个问题,页面终于在IE11显示了,BUT还有2个问题等待解决

1、使用了ElementUi的搜索提示框里面使用了template,结果vue报错,不知如何解决

 <el-col :span="12">
                    <el-form-item label="代码" prop="Code">
                        <el-autocomplete v-model="form.Code"
                                         popper-class="my-autocomplete"
                                         :fetch-suggestions="peopleSearch"
                                         placeholder="请输入内容"
                                         @@select="handlePeopleSelect">
                            <template slot-scope="{ item }">
                                <div class="Code">代码:{{ item.Code }}</div>
                                <div class="Name">姓名:{{ item.Name }}</div>
                                <span class="Year">时间:{{ item.Year }}</span>
                                <hr />
                            </template>
                        </el-autocomplete>
                    </el-form-item>
                </el-col>

最终解决办法:不在使用 template IE上面将不在报错

2、table 列使用template 在IE11下也会有问题 放弃使用template 改成formatter

  <el-table-column prop="IsActive"
                         label="启用"
                         width="80"
                         :formatter="formatBool">

 

 

3、ElementUI的时间控件选择后不能赋值到界面上去

  <el-date-picker v-model="form.InDate"
                                type="date"
                                placeholder="选择日期">
                </el-date-picker>

 

  解决办法:去掉placeholder 属性,使用了placeholder属性将会导致后面的赋值一直赋值不上,一直显示的是第一次赋值的值

 

转载于:https://www.cnblogs.com/tangchun/p/9957890.html

修改 Element UI 中 `el-select` 多选下拉框的滚动条样式,可以通过自定义 CSS 样式来实现。Element UI 的下拉框内部滚动区域通常使用了 `.el-select-dropdown__wrap` 这个类名作为容器,因此可以通过覆盖该类的样式来达到自定义滚动条的目的。 ### 自定义滚动条样式 可以通过以下 CSS 样式来自定义滚动条的外观,特别是在 Webkit 浏览器中(如 Chrome、Safari): ```css .el-select-dropdown__wrap { scrollbar-width: auto; /* Firefox */ scrollbar-color: #888 #f1f1f1; /* Firefox 滚动条轨道和滑块颜色 */ } .el-select-dropdown__wrap::-webkit-scrollbar { width: 8px; /* 设置竖直滚动条宽度 */ height: 8px; /* 设置水平滚动条高度 */ } .el-select-dropdown__wrap::-webkit-scrollbar-track { background: #f1f1f1; /* 滚动条轨道颜色 */ border-radius: 4px; } .el-select-dropdown__wrap::-webkit-scrollbar-thumb { background: #888; /* 滚动条滑块颜色 */ border-radius: 4px; } .el-select-dropdown__wrap::-webkit-scrollbar-thumb:hover { background: #555; /* 滚动条滑块悬停颜色 */ } ``` ### 在项目中使用自定义样式 1. **全局样式**:如果希望在整个项目中统一修改所有 `el-select` 的滚动条样式,可以直接在全局 CSS 文件中添加上述样式。 2. **局部样式**:如果仅希望在某个组件中应用自定义滚动条样式,可以使用 `scoped` 样式,并通过 `deep` 或 `::v-deep` 伪类穿透作用域: ```css ::v-deep .el-select-dropdown__wrap { /* 自定义滚动条样式 */ scrollbar-width: auto; scrollbar-color: #888 #f1f1f1; &::-webkit-scrollbar { width: 8px; height: 8px; } &::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 4px; } &::-webkit-scrollbar-thumb { background: #888; border-radius: 4px; } &::-webkit-scrollbar-thumb:hover { background: #555; } } ``` ### 注意事项 - **浏览器兼容性**:上述样式主要针对 Webkit 浏览器,在 Firefox 和 IE 中可能需要额外处理。 - **性能优化**:如果下拉框内容较多,建议结合虚拟滚动技术或分页加载机制来提升性能 [^1]。 - **主题定制**:如果项目中使用Element UI 的自定义主题功能,也可以通过修改主题变量来实现更统一的样式控制 [^3]。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值