el-table 每列使用了min-width 百分比之后,解决闪屏问题

vue

css 复制代码
 <el-table ref="tab1" :data="tableData"
tooltip-effect="dark" :cell-style="{'text-align':'center'}"
style="width: 100%" :header-cell-style="{'text-align':'center' ,'background':'#F3F9FF'}"
@selection-change="handleSelectionChange" @select-all="selectAll" @select="selectRow">
  <el-table-column type="selection"min-width="5%"></el-table-column>
<el-table-column prop="InitiationTime" label="测评时间"min-width="15%">

注意,设置列的百分比不能直接width:10%这样是无效的,只能min-width:10%这样的设置

还有就是必须设置ref的属性

由于el-table 默认是width 给定尺寸,现在给的百分比,加载数据的时候,会出现闪跳一下,然后表格再显示,需要设置beforeUpdate钩子,这个beforeUpdate:视图层的数据改变时触发

javascript 复制代码
/*解决el-table 列百分比设置,闪屏的问题*/
  beforeUpdate() {
    // table数据更新后,重新渲染table避免闪动
    this.$nextTick(() => {
      this.$refs['tab1'].doLayout()
    });
    
 },

注意:该beforeUpdate 需要写在跟methods:()同级,可以写之前,可以写之后,不要写在methods里面了

相关推荐
Csvn19 小时前
组合式函数
前端·vue.js
米丘19 小时前
vue3.x 调度器(Scheduler)实现机制
前端·javascript·vue.js
莫生灬灬19 小时前
ElementUI封装 共91个组件 支持易语言/火山/C#/Python
开发语言·c++·python·ui·elementui·c#
小彭努力中19 小时前
205.Vue3 + OpenLayers:加载动画,采用 CSS 的 @keyframes 方式
前端·css·vue.js·openlayers·cesium·webgis
_Twink1e20 小时前
基于Vue的纯前端的库存销售系统
前端·vue.js·vue·web
陈振wx:zchen200820 小时前
前端-面试题-Vue
前端·vue.js
Moment20 小时前
从 beginWork 到 completeWork,Fiber 树是怎么“盖”出来的❓❓❓
前端·javascript·面试
前端初见20 小时前
React 开发实战全攻略:从基础到项目实战(面向 Vue 开发者)
javascript·vue.js·react.js
threelab20 小时前
Three.js 极光效果着色器 | 三维可视化 / AI 提示词
javascript·人工智能·着色器
天天进步201520 小时前
魔音漫创源码解析:性能优化: Electron 环境下的图片管理与文件系统协议处理优化
javascript·性能优化·electron