ElementUI中el-tabs标签点击切换el-table闪烁问题

现象:点击切换element ui中el-tabs时候,table会出现闪一下的状况;

初始element ui中el-tabs组件代码如下:

html 复制代码
<el-tabs type="card" v-model="activeName">
  <el-tab-pane label="线路配置" name="first"><lineDetail /></el-tab-pane>
  <el-tab-pane label="车站配置" name="second"> <stationDetail /></el-tab-pane>
  <el-tab-pane label="特殊路段配置" name="three"><specialRoadDetail /></el-tab-pane>
  <el-tab-pane label="管界配置" name="four"><workManagementDetail /></el-tab-pane>
</el-tabs>

解决方案 1:

使用v-if="activeName==='first'"解决闪屏

html 复制代码
<el-tabs type="card" v-model="activeName">
  <el-tab-pane label="线路配置" name="first"><lineDetail v-if="activeName==='first'"/></el-tab-pane>
  <el-tab-pane label="车站配置" name="second"> <stationDetail v-if="activeName==='second'"/></el-tab-pane>
  <el-tab-pane label="特殊路段配置" name="three"><specialRoadDetail v-if="activeName==='three'"/></el-tab-pane>
  <el-tab-pane label="管界配置" name="four"><workManagementDetail v-if="activeName==='four'"/></el-tab-pane>
</el-tabs>

解决方案 2:

内容闪动的原因是由于组件的状态被重置或者之前的状态没有及时清除,导致在组件重新渲染时,出现了短暂的内容闪烁。

例如,当 el-tabs 组件切换到一个新的标签页时,原来标签页中的内容可能还没有完全被销毁,新标签页的内容也还没有完全渲染出来,这就会导致一个短暂的内容闪烁。

为了避免这个问题,可以采用一些方法来优化组件的渲染,以减少组件重复使用时的闪动问题。例如,可以在组件中使用 key 属性来标识组件实例的唯一性,从而在组件状态发生变化时,强制 Vue.js 重新渲染组件。另外,也可以使用 CSS3 的动画效果来控制组件的渐变过渡,以减少闪动的影响。

相关推荐
小村儿1 小时前
连载10-Sub-agents 深度解析:从源码理解 Claude Code 的分身术
前端·后端·ai编程
IT_陈寒1 小时前
Vite动态导入把我坑惨了,原来要这样用才对
前端·人工智能·后端
DFT计算杂谈1 小时前
KPROJ编译教程
java·前端·python·算法·conda
觅_2 小时前
前端学习后端的时候 选择一个技术
前端·学习
独泪了无痕2 小时前
CryptoJS:数据安全的JavaScript加密利器
前端·vue.js·node.js
发现一只大呆瓜2 小时前
一文搞懂 Vite 处理CommonJS包、按需编译逻辑及 Rollup 插件兼容规则
前端
Edwardwu2 小时前
写了个y-mxgraph:给 draw.io 接上了 Yjs,顺便解决了部署在 iframe 里的一堆问题
前端·typescript
其实防守也摸鱼2 小时前
软件安全与漏洞--软件安全编码
java·前端·网络·安全·网络安全·web·工具
发现一只大呆瓜3 小时前
Vite 开发预构建机制详解,搞懂 esbuild 与 Rollup 分工差异
前端·面试·vite
九九落4 小时前
前端获取经纬度完全指南:从Geolocation API到地图集成
前端·获取经纬度