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

 

问题描述:

项目使用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基本可接受

你可能感兴趣的:(vue,总结,vue)