Element多选表格设置默认勾选 调用this.$refs.tableRef.toggleRowSelection不生效
今天记录一下多选表格设置默认勾选 调用this.$refs.tableRef.toggleRowSelection不生效的情况...
上次的需求是这样的... 点击筛选按钮,筛选出符合条件的数据,排列到列表页最前面并勾选...
我想这还不简单,直接用下Element的方法就好了,结果就出现了勾选不生效的情况...
// 设置勾选
eligibleData.forEach((row) => {
this.$refs.multipleTable.toggleRowSelection(row);
});
在这里,点击筛选,不是对进来这个页面时获取的表数据进行直接筛选,而是先调用相关接口后再进行表数据的刷新,所以我们先加一层$nextTick,以便获取更新后的Dom... 其次,通过对比筛选找到源数据来设置选中项... 完美解决该问题
this.$nextTick(() => {
eligibleData.forEach((row) => {
this.tableData.find((item) => {
if (item.id == row.id) {
this.$refs.multipleTable.toggleRowSelection(item);
}
});
});
})