行选择状态以以下形式存储在表格中:
export type RowSelectionState = Record<string, boolean>
export type RowSelectionTableState = { rowSelection: RowSelectionState}enableRowSelectionenableRowSelection?: boolean | ((row: Row<TData>) => boolean)enableMultiRowSelectionenableMultiRowSelection?: boolean | ((row: Row<TData>) => boolean)enableSubRowSelectionenableSubRowSelection?: boolean | ((row: Row<TData>) => boolean)启用/禁用在选择父行时自动选择子行,或者为每行启用/禁用自动选择子行的函数。
(与展开或分组功能结合使用)
onRowSelectionChangeonRowSelectionChange?: OnChangeFn<RowSelectionState>如果提供了此函数,当 state.rowSelection 发生变化时,将使用 updaterFn 调用该函数。这将覆盖默认的内部状态管理,因此您需要在表格外部完全或部分地持久化状态更改。
getToggleAllRowsSelectedHandlergetToggleAllRowsSelectedHandler: () => (event: unknown) => void返回一个处理程序,用于切换表格中所有行的选择状态。
getToggleAllPageRowsSelectedHandlergetToggleAllPageRowsSelectedHandler: () => (event: unknown) => void返回一个处理程序,用于切换当前页面上所有行的选择状态。
setRowSelectionsetRowSelection: (updater: Updater<RowSelectionState>) => void设置或更新 state.rowSelection 状态。
resetRowSelectionresetRowSelection: (defaultState?: boolean) => void将 rowSelection 状态重置为 initialState.rowSelection,或者可以传递 true 强制将其重置为空白状态 {}。
getIsAllRowsSelectedgetIsAllRowsSelected: () => boolean返回表格中是否选择了所有行。
getIsAllPageRowsSelectedgetIsAllPageRowsSelected: () => boolean返回当前页面上是否选择了所有行。
getIsSomeRowsSelectedgetIsSomeRowsSelected: () => boolean返回表格中是否选择了任何行。
getIsSomePageRowsSelectedgetIsSomePageRowsSelected: () => boolean返回当前页面上是否选择了任何行。
toggleAllRowsSelectedtoggleAllRowsSelected: (value: boolean) => void选择/取消选择表格中的所有行。
toggleAllPageRowsSelectedtoggleAllPageRowsSelected: (value: boolean) => void选择/取消选择当前页面上的所有行。
getPreSelectedRowModelgetPreSelectedRowModel: () => RowModel<TData>getSelectedRowModelgetSelectedRowModel: () => RowModel<TData>getFilteredSelectedRowModelgetFilteredSelectedRowModel: () => RowModel<TData>getGroupedSelectedRowModelgetGroupedSelectedRowModel: () => RowModel<TData>getIsSelectedgetIsSelected: () => boolean返回行是否被选择。
getIsSomeSelectedgetIsSomeSelected: () => boolean返回行的某些子行是否被选择。
getCanSelectgetCanSelect: () => boolean返回行是否可以选择。
getCanMultiSelectgetCanMultiSelect: () => boolean返回行是否可以多选。
getCanSelectSubRowsgetCanSelectSubRows: () => boolean返回行是否可以在选择父行时自动选择子行。
toggleSelectedtoggleSelected: (value?: boolean) => void选择/取消选择行。
getToggleSelectedHandlergetToggleSelectedHandler: () => (event: unknown) => void返回一个处理程序,用于切换行的选择状态。