elment ui 表格fixed固定列之后渲染行错位--已解决

it2023-01-20  67

 

问题描述:

项目使用element table 中有些页面出现行渲染行错位,错位的table都是由于使用了fixed固定列导致


原因分析:

table首次渲染时 el-table__fixed-body-wrapper top值计算有问题


解决方案:

触发表格重新渲染

1. 测试用使用foreUpdate,无效

mounted() { setTimeout(()=> { this.$forceUpdate(); },200) },

2. 使用table的doLayout方法,也无效

mounted() { this.$nextTick(()=> { this.$refs.table.doLayout() ) setTimeout(()=> { this.$refs.table.doLayout() },500) },

终极方案:使用forceUpdate+doLayout,mounted触发强制更新,再次调用table的重绘方法,问题解决

mounted() { setTimeout(()=> { this.$forceUpdate(); this.$refs.table.doLayout() },200) },

缺陷:重绘时页面会有闪动,定时器设置200ms基本可接受

最新回复(0)