动态表格列
一些 bug 现象
- 动态表格列实现时,表格列会剧烈抖动,晃动,闪动。
- 固定列宽度计算不合理,导致固定列宽度计算不合适。
el-table 组件重新渲染
表格组件本身提供的doLayout
方法可以有效地根据表格列数组变更实现宽度重新计算。点此了解别人的解决方案。
el-table-column 组件的 v-if 与 key
可以继续使用v-if
来控制显示与隐藏。但是key
值的设计一定要保证内容可以更新。:key="Math.random()"
的写法是比较合适的。点此了解综合性的解决方案。
综合理解
要用doLayout
方法实现表格样式布局的重新渲染,用此方法重新计算表格列宽。用合理的key
值设计保证el-table-column
组件可以及时地重新渲染更新。
思路总结
不需要考虑用样式的方案实现表格列的隐藏和显示。 数组的引用指向改动与表格剧烈抖动无关。