layui表格進行單頁全選和單個選中以及取消,可以對選中數據和取消的數據進行操作:

代碼如下:
table.on('checkbox(resourceQueryTable)', function (obj) {//保存當前頁選中數據
let checked = obj.checked; //當前選擇的狀態,是否選中
if (obj.type == 'all') { //全選
if (checked) {
dataArr.forEach(item => {//全部選中,直接向ids push當前選中的數據
filterGids.forEach((item_,index)=>{
if(item_==item.gid){
filterGids.splice(index, 1);
}
})
ids.push(item)
})
} else {
dataArr.forEach((item, index) => {//取消全選,循環判斷是否相等,相等就刪除
filterGids.push(item.gid);//獲取取消選中的數據
ids.forEach((val, i) => {
if (item.gid == val.gid) {
ids.splice(i, 1)
}
})
})
}
} else { //單選
if (checked) {
ids.push(obj.data);//選中,直接向ids push當前選中的數據
filterGids.forEach((item_,index)=>{
if(item_==obj.data.gid){
filterGids.splice(index, 1);
}
})
} else {
filterGids.push(obj.data.gid);
ids.map((item, index) => {//取消選擇,循環判斷是否相等,相等就刪除
if (obj.data.gid == item.gid) {
ids.splice(index, 1)
}
})
}
}
});
