使用Element-UI的el-tabs组件,浏览器卡住了的问题及解决
作者:Never Yu
Element-UI的el-tabs组件,浏览器卡住
问题
我使用的版本是:vue@2.5.13、vue-template-compiler@2.5.13、element-ui@2.8.2
在一个页面中使用了 element-ui 的 el-tabs 组件,然后,切换路由进入这个页面的时候,就卡住了,浏览器也卡住了;去掉 el-tabs 就好了,使用 el-tabs 就卡住了。
解决方案??
1、有的说在 el-tabs 外层使用 <el-col :span="24">...</el-col> 可以解决这个问题?
<el-row> <el-col :span="24"> <el-tabs v-model="activeName" type="card" @tab-click="handleClick"> <el-tab-pane label="基本信息" name="first"> <h3 class="title">基本信息</h3> sss </el-tab-pane> </el-tabs> </el-col> </el-row>
经过我实践证明,并不能。
正确的解决方案
方案一、降级 element-ui 的版本到 2.6.3
首先我考虑的是升级到最新的 element-ui@2.9.2,发现还是不行;
于是降级到 element-ui@2.6.3,是可以的!!!能进到这个有 el-tabs 组件的页面。
// 卸载原来的 npm uninstall element-ui -S // 清缓存 npm cache clean -f // 安装 2.6.3 的版本 npm i element-ui@2.6.3 -S
方案二、升级 vue 的版本到 2.6.x +
对比 element-ui@2.6.3 的文档和最新的 element-ui@2.9.2 的文档,以及 Github 上的 commit;发现 2.9.2 还是增加了很多新的功能和组件的,那如果我们很想使用 element-ui@2.9.2 的话,那么,解决方案就是升级 Vue 的版本。
// 1、卸载 vue (连带 vue-template-compiler 一起卸载,不要问为什么,要问的话就加群) npm uninstall vue vue-template-compiler // 清缓存 npm cache clean -f // 安装 vue npm i vue@2.6.10 vue-template-compiler@2.6.10
切记:一定要保证 vue 和 vue-template-compiler 版本一致
切记:一定要保证 vue 和 vue-template-compiler 版本一致
重新启动项目,OK,顺利进入页面!
好了,以上就是正规,并且亲测可行的两种解决方案啦。
小结
- 如果你是 Vue 2.5.x 的版本,那么你要降级你的 Element-UI 的版本到 2.6.x 。
- 如果你想使用最新的 Element-UI 版本,那么你需要升级你的 Vue 的版本到 Vue 2.6.x 。
说明:
在 element-ui 的 issues 中搜 el-tabs 会发现 el-tabs 组件的问题还是挺多人问的。
Element-UI el-tabs选项卡踩坑记录
el-tabs选项卡必须要有一个默认选中项,value或v-model
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。