针对表格数据多选,回显,分页还要保存已选数据
给el-table 添加属性
ref="tableRef"
@selection-change="handleSelectionChange"
属性说明
selectList 初始数据
otherSelect 非当前页选中的数据
tableList 当前页表格数据
setSelectRow() {
let arr = []
this.otherSelect = []
this.selectList.map((item) => {
let obj = this.tableList.find((val) => item.id == val.id)
console.log(obj);
if (obj) arr.push(obj)
else this.otherSelect.push(item)
})
this.$nextTick(() => {
for (let item of arr) {
this.$refs.tableRef.toggleRowSelection(item, true)
}
})
}
handleSelectionChange(val) {
this.selectList = this.otherSelect.concat(val);
}
selectList 就是最终选中的数据
每次请求都执行一次setSelectRow方法
非常简单