谁能想到有一天el-tab
会把人逼疯呢。
项目中依赖版本:vue: "^2.5.17", vue-template-compiler: "^2.5.16"
事情是这样的,放完假打算开开心心的来上班,然而假期最后一天,还在路上,就被疯狂@。心态崩了。
有人页面直接死掉,打不开了,过了一会弹窗页面无响应,然后崩掉。
只有一个人出现,最开始怀疑是他电脑环境问题,毕竟大家都在用。
确实,他的电脑自动升级了谷歌最新版。于是我也升级了最新版,然后一切正常...
这就很诡异了。
到了第二天,又多了几个人出现问题...
这...
于是只能跑到出问题的电脑那去调试...而用户还有其他事情要处理,这个调试让彼此都很疲惫。
真是个复杂的调试过程,将页面模块一个个排查,终于排查到了具体模块。此间艰辛省略一万字。
具体模块检查了很久,没有什么风险代码。于是开始清空这个模块,发现只要加上了<el-tab-pane></el-tab-pan>
部分就会卡死,哪怕里面的内容全注释掉。
问题逐渐变得诡异。
也是灵机一动。
谷歌一下。
发现还真有被<el-tab>
卡死的事情。
问题原因: 在 Vue2.x 的项目中使用 Element-UI 的 el-tabs 组件,会无端导致页面卡死,任何按钮都无法点击,Chrome 浏览器直接报出页面无响应的 bug 。而我们系统突然出现,可能是 Chrome 浏览器自动升级的版本触发了这个bug
其实解决方案更诡异。
在el-tabs
外层包裹上<el-row><el-col>
.
<el-row>
<el-col :span="24">
<el-tabs
v-model="activeName"
@tab-click="tabClick">
<el-tab-pane>
页面内容
</el-tab-pane>
</el-tabs>
</el-col>
</el-row>
这个问题得到的结论是,不要盲目相信组件,无论使用多广泛的组件,都有可能触发无法预料的坑,甚至它还不打算解决。这就需要我们开发人员多积累经验了。
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 2 天,点击查看活动详情