1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > elementUI 表格多选框this.$refs.xxx.toggleRowSelection无效

elementUI 表格多选框this.$refs.xxx.toggleRowSelection无效

时间:2022-04-12 13:22:56

相关推荐

elementUI 表格多选框this.$refs.xxx.toggleRowSelection无效

在elementUI官方实例中,multipleSelection代表选中的值,toggleRowSelection(row,selection)方法用于原先已选的值传入进行勾选,row传递被勾选行的数据,selected设置是否选中。

需求是每次打开弹窗都会重新获取表格数据,并且要选中对应的数据,但直接使用那个方法并没有效果,因为表格中的数据还没有请求出来。

解决:获取数据后在需要进行勾选操作的外面套一个$nextTick

this.$nextTick(() => {checkedList.forEach((row) => {this.$refs.multipleTable.toggleRowSelection(row,true);});});

$nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $nextTick,则可以在回调中获取更新后的 DOM。

但这样任然无法正常显示

解决:这里通过从所有列表tableData中找到需要选中的项来帮助选中,直接使用选中列表来设置会出错

最终代码

this.$nextTick(() => {checkedLi.forEach((row) => {this.$refs.multipleTable.toggleRowSelection(this.list.find((item) => {return row.FIELD_CODE == item.FIELD_CODE; }),true);});});

我的博客主页 :https://qingmuzhang.gitee.io/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。