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

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()
		})
	},
	// ...
}
  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
vxe-table中嵌套vxe-table时,内层的vxe-table可以通过作用域插槽(scoped slot)来获取外层vxe-table的row数据。具体步骤如下: 1. 在外层vxe-table定义中,使用作用域插槽(scoped slot)来传递row数据给内层vxe-table。例如,可以在外层vxe-table定义中添加一个自定义,并使用作用域插槽将row数据传递给内层vxe-table,如下所示: ```html <vxe-table :data="outerData"> <vxe-column type="index" width="60"></vxe-column> <vxe-column field="name" title="Name"></vxe-column> <vxe-column title="Nested Table"> <template #default="{ row }"> <vxe-table :data="row.nestedData"> <!-- 内层vxe-table定义 --> </vxe-table> </template> </vxe-column> </vxe-table> ``` 2. 在内层vxe-table定义中,可以通过作用域插槽(scoped slot)的方式获取外层vxe-table传递的row数据。例如,可以在内层vxe-table定义中使用作用域插槽来访问外层vxe-table的row数据,如下所示: ```html <vxe-table :data="nestedData"> <vxe-column field="nestedField1" title="Nested Field 1"></vxe-column> <vxe-column field="nestedField2" title="Nested Field 2"></vxe-column> <vxe-column title="Outer Row Data"> <template #default="{ $table }"> <!-- 使用 $table.$scoped.row 获取外层vxe-table的row数据 --> <span>{{ $table.$scoped.row }}</span> </template> </vxe-column> </vxe-table> ``` 通过以上步骤,内层的vxe-table就可以获取到外层vxe-table的row数据,并进行相应的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值