今天测试给我提了一个布局问题:效果图如下:
他的测试方式比较奇葩,是不停的切换上面的标签页,然后就出现了上图的错位问题。
百度后发现也有其他人提到这个错位问题:
不过他们的错误基本是表格数据改变时,表格错位。
所以解决办法是:
思路就是:watch
监听表格数据的变化,如果变化,则重新渲染表格。
watch: {
tableData(val) {
this.doLayout();
}
},
methods:{
doLayout() {
this.$nextTick(() => {
this.$refs.table.doLayout()
})
}
}
很显然,我现在的情况并非如此,既然网上都说是因为添加了fixed
导致的表格错位
我直接简单粗暴的把fixed
去掉就可以了。。。
事实证明,确实可以了。但是fixed
存在的意义在于,当表格横向内容比较多时,可以将操作按钮固定,方便人为操作。所以去掉fixed
的方法并不是很人性化。
最后经过一系列排查和非人类的试探后,总结如下:
- 操作一列中,fixed=“right”,需要指定宽度 width
- 与操作列相邻的一列不加width,其他的列指定宽度
如下图所示:表格中的所有列都加上width,与操作列相邻的一列不要加。
最终效果: