element-ui table表格 toggleRowSelection 设置无效

这个问题遇到很多次了 原因是 这里 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 的坑吧 因为这部分方法是他实现的

发布了130 篇原创文章 · 获赞 91 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/Chad97/article/details/102552381