依赖
import { uniq } from 'lodash';
变量
const [checkedList, setCheckedList] = useState([]);
示例
<Table
...
rowSelection={}
/>
代码
rowSelection={{
selectedRowKeys: checkedList,
onSelect: (record, selected) => {
let newCheckedList = JSON.parse(JSON.stringify(checkedList));
if (selected) {
newCheckedList.push(record.Id);
} else {
newCheckedList = newCheckedList.filter((item) => {
return item != record.Id;
});
}
setCheckedList(uniq(newCheckedList.filter((item) => item)));
},
onSelectAll: (selected, selectedRows, changeRows) => {
let newCheckedList = JSON.parse(JSON.stringify(checkedList));
if (selected) {
newCheckedList = newCheckedList.concat(selectedRows.map((item) => item && item.Id));
} else {
newCheckedList = newCheckedList.filter((item) => {
let result = true;
changeRows.forEach((item2) => {
if (item == item2.Id) {
result = false;
}
});
return result;
});
}
console.log(newCheckedList);
setCheckedList(uniq(newCheckedList.filter((item) => item)));
},
}}