vxe-table column width 宽度问题,fixed 列样式错乱、显示隐藏导致、keep-alive 列宽错误等的解决方法
缩放窗口导致列宽错误,使用 Tab 切换导致宽度错误,还是显示隐藏 div 中切换导致宽度错误,还是弹出框中导致宽度计算错误,使用缓存路由导致列宽错误;加上参数 auto-resize 自动响应。
- 解决方法(任意一种都可以解决问题)
- 只需要加上 :auto-resize=“true” 就可以自动重新计算表格,默认是关闭的
- 也可以手动调用 recalculate 方法去重新计算表格
如果是全局的方式:
// 老版本 setup({})、config({})
VXETable.setConfig({
table: {
autoResize: true
}
})
<vxe-table
auto-resize
...
></vxe-table>
<vxe-grid
auto-resize
...
></vxe-grid>
加上后,表格就会自动监听父容器的宽高变化,自动触发重新计算表格
如果是某些特殊场景,可以通过手动调用 recalculate 方法更新样式,比如 keep-alive:
export default {
// ...
activated () {
// 在 keep-alive 钩子函数中,显示之后手动调用
this.$nextTick({
this.$refs.xTable.recalculate()
})
},
// ...
}