这里记录一下遇到的一个比较奇葩的问题

项目是vue+element+axios ,本地接口调试正常,但是项目部署到正式服务,二次请求接口,状态一直pending,导致页面崩溃卡死,最后排查了好久,发现是element的选项卡组件导致的,

官网中element选项卡的内容书写方式是这样的

<el-tabs v-model="activeName" @tab-click="handleClick">
    <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
    <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
    <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
    <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
  </el-tabs>

,但是实际上我们的选项卡内容不能放在el-tab-pane中,否则会导致页面中的js卡死,源码我没有具体的研究,但是造成的页面效果,貌似进入了死循环,

我的这个选项卡是写入对话框中的,二次打开对话框直接导致页面卡死,参考其他人博客中的说法,是vue和element版本导致的,因为是公司之前搭建的框架,我也避免再改什么框架的版本,

最后我把el-tab-pane中包裹的内容拿到el-tabs外面用div包裹,然后加上v-show的判断对activeName的值进行对应显示,以此实现选项卡的内容切换,最后重新打包部署线上服务,果然是这个问题导致的,比较奇葩的是本地运行二次打开对话框是木有问题的。

GitHub 加速计划 / eleme / element
54.06 K
14.63 K
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:1 个月前 )
c345bb45 5 个月前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐