原因
出现闪屏的主要原因是 DOM 重绘和重排。当你点击切换 el-tabs 标签时,浏览器需要重新计算元素的位置和大小,重新绘制页面,这个过程会导致页面内容在切换时短暂的闪烁。这是因为切换标签导致了页面结构的改变,浏览器需要重新布局和绘制页面,从而引发闪屏问题。
代码结构:
el-tabs标签嵌套el-table表格(进行了封装),通过循环渲染,
解决方案:
给el-tab-pane添加name属性,这里我动态添加的,
el-tads使用v-model绑定name值,
最后嵌套层使用v-if=“activeName==xxx(name)”判断是非为当前tab,
<el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
<el-tab-pane :name="item" v-for="(item, index) in tabLabel" :key="index" :label="item">
<ttable v-if="activeName == item" :columns="index == 0 ? columns : noticeClums"
>
</ttable>
</el-tab-pane>
</el-tabs>
activeName: '常规文章',
tabLabel: ['常规文章', '乡村公告'],