tdesign-react
Version:
TDesign Component for React
37 lines (36 loc) • 1.72 kB
TypeScript
import TableTreeStore, { SwapParams } from '@tdesign/common-js/table/tree-store';
import type { PrimaryTableCol, TableRowData, TableRowState, TableRowValue, TdEnhancedTableProps } from '../type';
export interface UseSwapParams<T> extends SwapParams<T> {
data: T[];
}
export default function useTreeData(props: TdEnhancedTableProps): {
store: TableTreeStore<import("@common/js/table/types").TableRowData>;
rowDataKeys: {
rowKey: string;
childrenKey: string;
};
dataSource: TableRowData[];
swapData: (params: UseSwapParams<TableRowData>) => void;
setData: <T>(key: TableRowValue, newRowData: T) => void;
getData: (key: TableRowValue) => TableRowState;
remove: (key: TableRowValue) => void;
removeChildren: (key: TableRowValue) => void;
appendTo: <T>(key: TableRowValue, newData: T | T[]) => void;
insertAfter: <T>(rowValue: TableRowValue, newData: T) => void;
insertBefore: <T>(rowValue: TableRowValue, newData: T) => void;
formatTreeColumn: (col: PrimaryTableCol) => PrimaryTableCol;
toggleExpandData: (p: {
row: TableRowData;
rowIndex: number;
}, trigger?: "expand-fold-icon" | "row-click") => void;
expandAll: (type?: "expand-all" | "default-expand-all", list?: TableRowData[]) => void;
foldAll: () => void;
getTreeNode: () => import("@common/js/table/types").TableRowData[];
resetData: (data: TableRowData[]) => void;
getTreeExpandedRow: (type?: "unique" | "data" | "all") => any[];
onExpandFoldIconClick: (p: {
row: TableRowData;
rowIndex: number;
}, trigger?: "expand-fold-icon" | "row-click") => void;
};
export type UseTreeDataReturnType = ReturnType<typeof useTreeData>;