element-ui table表格 toggleRowSelection 设置无效

在使用Element-UI的Table组件时,遇到toggleRowSelection方法设置无效的问题。原因是该方法的row参数是重绘数据。官方文档建议在DOM更新循环结束后执行延迟回调。解决方案是在修改数据后,利用Vue的nextTick包住toggleRowSelection方法来确保数据同步到DOM。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个问题遇到很多次了 原因是 这里 toggleRowSelection(row, boolean) 这个方法,row是重绘数据

  • 让我们来看看 this.$nextTick()这个方法的 官方文档

  • 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。

解决方案

在要改变的数据外层套上这个方法

  • 小栗子
 // 回调 nextTick 数据改变后重绘页面
this.$nextTick(() => {
	for ( var key in obj) {
		this.$refs.multipleTable.forEach(all => {
			all.toggleRowSelection(... obj[key], this.flag);
		})
	}
})
                

原因

vue中的数据是异步更新的到dom的,也就是说我们在改变之后数据后,还没有立即更新,this.$nextTick 这个方法 这个立即更新的 回调函数

也算 element-ui 的坑吧 因为这部分方法是他实现的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值