fix: model list duplicate

This commit is contained in:
jialin
2024-07-09 16:59:35 +08:00
parent 734368dd49
commit fe14edbb4e
22 changed files with 247 additions and 69 deletions
+35
View File
@@ -0,0 +1,35 @@
import { useCallback, useState } from 'react';
export default function useExpandedRowKeys() {
const [expandedRowKeys, setExpandedRowKeys] = useState<React.Key[]>([]);
const handleExpandChange = useCallback(
(expanded: boolean, record: any, rowKey: any) => {
if (expanded) {
setExpandedRowKeys((keys) => [...keys, rowKey]);
} else {
setExpandedRowKeys((keys) => keys.filter((key) => key !== rowKey));
}
},
[]
);
const updateExpandedRowKeys = (keys: React.Key[]) => {
// remove expanded row keys that are in the deleted keys
const newExpandedRowKeys = expandedRowKeys.filter(
(key) => !keys.includes(key)
);
setExpandedRowKeys(newExpandedRowKeys);
};
const clearExpandedRowKeys = () => {
setExpandedRowKeys([]);
};
return {
expandedRowKeys,
clearExpandedRowKeys,
updateExpandedRowKeys,
handleExpandChange
};
}