vue table 表格记录选中
默认全部选中
<el-table :data="tableParams.data"
ref="multipleTable"
v-loading="loadingTable"
@select-all="handleSelectionAll"
@select="handleSelectionChange"
//选中记录
let snArary=selection.map(item => item.SN);
let deselectedRows = this.tableParams.data.filter(row => !snArary.includes(row.SN)).map(item=>item.SN);
this.selectedData=Array.from(new Set([...this.selectedData, ...snArary]));
this.selectedData = this.selectedData.filter((item) => {
if (deselectedRows.includes(item)) {
this.select_nums++; // 重新选中时,选择数量加1
return false; // 过滤掉重新选中的数据
}
return true; // 保留取消选择的数据
});
this.select_nums=this.selectedData.length;
//全选判断
let snArary=selection.map(item => item.SN);
let deselectedRows = this.tableParams.data.filter(row => !snArary.includes(row.SN)).map(item=>item.SN);
if (deselectedRows.length>0) {
this.CaneclData=Array.from(new Set([...this.CaneclData, ...deselectedRows]));
}
this.CaneclData = this.CaneclData.filter((item) => {
if (snArary.includes(item)) {
this.select_nums++; // 重新选中时,选择数量加1
return false; // 过滤掉重新选中的数据
}
return true; // 保留取消选择的数据
});
this.select_nums = this.total - this.CaneclData.length;