ElementUI中给el-table设置fixed属性之后就可以使该列固定不动,例如操作栏。但是会出现该列错位的情况,导致这一列的每一行都不对应。
可能原因是列表在请求数据后,渲染异常,解决办法就是让table重新布局。官网文档提供了doLayout方法。
解决办法如下:
watch: {
//tableData为el-table的data数据 (:data='tableData')
tableData(val) {
this.doLayoutFun();
}
},
methods:{
//重新渲染组件 解决fixed错位问题
doLayoutFun(){
this.$nextTick(() => {
//listTable为el-table的ref (ref='listTable')
if(this.$refs.listTable){
this.$refs.listTable.doLayout()
}
})
}
}