chore: batch start/stop models

This commit is contained in:
jialin
2025-02-17 13:49:55 +08:00
parent 8f7968302d
commit 68a62d689c
10 changed files with 93 additions and 15 deletions
+11 -1
View File
@@ -2,29 +2,39 @@ import { useState } from 'react';
export default function useTableRowSelection() {
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
const [selectedRows, setSelectedRows] = useState<any[]>([]);
const onSelectChange = (selectedRowKeys: React.Key[]) => {
const onSelectChange = (
selectedRowKeys: React.Key[],
selectedRows: any[]
) => {
setSelectedRowKeys(selectedRowKeys);
setSelectedRows(selectedRows);
};
const clearSelections = () => {
setSelectedRowKeys([]);
setSelectedRows([]);
};
const removeSelectedKey = (rowKey: React.Key | React.Key[]) => {
if (Array.isArray(rowKey)) {
setSelectedRowKeys((keys) => keys.filter((key) => !rowKey.includes(key)));
setSelectedRows((rows) => rows.filter((row) => !rowKey.includes(row.id)));
return;
}
setSelectedRowKeys((keys) => keys.filter((key) => key !== rowKey));
setSelectedRows((rows) => rows.filter((row) => row.id !== rowKey));
};
const removeSelectedKeys = (rowKeys: React.Key[]) => {
setSelectedRowKeys((keys) => keys.filter((key) => !rowKeys.includes(key)));
setSelectedRows((rows) => rows.filter((row) => !rowKeys.includes(row.id)));
};
const rowSelection = {
selectedRowKeys,
selectedRows,
clearSelections,
onChange: onSelectChange,
removeSelectedKeys,