vxe-table column width 宽度问题,fixed 列样式错乱、显示隐藏导致、keep-alive 列宽错误等的解决方法

缩放窗口导致列宽错误,使用 Tab 切换导致宽度错误,还是显示隐藏 div 中切换导致宽度错误,还是弹出框中导致宽度计算错误,使用缓存路由导致列宽错误;加上参数 auto-resize 自动响应。

  • 解决方法(任意一种都可以解决问题)
    1. 只需要加上 :auto-resize=“true” 就可以自动重新计算表格,默认是关闭的
    2. 也可以手动调用 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()
		})
	},
	// ...
}
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐