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里面了

相关推荐
智绘前端25 分钟前
TypeScript面试题集合【初级、中级、高级】
前端·javascript·面试·typescript
獨枭6 小时前
使用 Spring Boot 快速构建企业微信 JS-SDK 权限签名后端服务
javascript·spring boot·企业微信
前端.火鸡8 小时前
认识vue中的install和使用场景
前端·javascript·vue.js
hhw1991128 小时前
vue总结
前端·javascript·vue.js
代码续发9 小时前
Vue进行前端开发流程
前端·vue.js
加减法原则9 小时前
深入理解Vue 生命周期
vue.js
冴羽9 小时前
SvelteKit 最新中文文档教程(19)—— 最佳实践之身份认证
前端·javascript·svelte
拉不动的猪9 小时前
ES2024 新增的数组方法groupBy
前端·javascript·面试
前端极客探险家10 小时前
实现一个拖拽排序组件:Vue 3 + TypeScript + Tailwind CSS
css·vue.js·typescript·排序算法
奶球不是球10 小时前
vue3中pinia基本使用
vue.js·pinia