Row selection state is stored on the table using the following shape:
export type RowSelectionState = Record<string, boolean>
export type RowSelectionTableState = {
rowSelection: RowSelectionState
}
export type RowSelectionState = Record<string, boolean>
export type RowSelectionTableState = {
rowSelection: RowSelectionState
}
By default, the row selection state uses the index of each row as the row identifiers. Row selection state can instead be tracked with a custom unique row id by passing in a custom getRowId function to the the table.
enableRowSelection?: boolean | ((row: Row<TData>) => boolean)
enableRowSelection?: boolean | ((row: Row<TData>) => boolean)
enableMultiRowSelection?: boolean | ((row: Row<TData>) => boolean)
enableMultiRowSelection?: boolean | ((row: Row<TData>) => boolean)
enableSubRowSelection?: boolean | ((row: Row<TData>) => boolean)
enableSubRowSelection?: boolean | ((row: Row<TData>) => boolean)
Enables/disables automatic sub-row selection when a parent row is selected, or a function that enables/disables automatic sub-row selection for each row.
(Use in combination with expanding or grouping features)
onRowSelectionChange?: OnChangeFn<RowSelectionState>
onRowSelectionChange?: OnChangeFn<RowSelectionState>
If provided, this function will be called with an updaterFn when state.rowSelection changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
getToggleAllRowsSelectedHandler: () => (event: unknown) => void
getToggleAllRowsSelectedHandler: () => (event: unknown) => void
Returns a handler that can be used to toggle all rows in the table.
getToggleAllPageRowsSelectedHandler: () => (event: unknown) => void
getToggleAllPageRowsSelectedHandler: () => (event: unknown) => void
Returns a handler that can be used to toggle all rows on the current page.
setRowSelection: (updater: Updater<RowSelectionState>) => void
setRowSelection: (updater: Updater<RowSelectionState>) => void
Sets or updates the state.rowSelection state.
resetRowSelection: (defaultState?: boolean) => void
resetRowSelection: (defaultState?: boolean) => void
Resets the rowSelection state to the initialState.rowSelection, or true can be passed to force a default blank state reset to {}.
getIsAllRowsSelected: () => boolean
getIsAllRowsSelected: () => boolean
Returns whether or not all rows in the table are selected.
getIsAllPageRowsSelected: () => boolean
getIsAllPageRowsSelected: () => boolean
Returns whether or not all rows on the current page are selected.
getIsSomeRowsSelected: () => boolean
getIsSomeRowsSelected: () => boolean
Returns whether or not any rows in the table are selected.
NOTE: Returns false if all rows are selected.
getIsSomePageRowsSelected: () => boolean
getIsSomePageRowsSelected: () => boolean
Returns whether or not any rows on the current page are selected.
toggleAllRowsSelected: (value: boolean) => void
toggleAllRowsSelected: (value: boolean) => void
Selects/deselects all rows in the table.
toggleAllPageRowsSelected: (value: boolean) => void
toggleAllPageRowsSelected: (value: boolean) => void
Selects/deselects all rows on the current page.
getPreSelectedRowModel: () => RowModel<TData>
getPreSelectedRowModel: () => RowModel<TData>
getSelectedRowModel: () => RowModel<TData>
getSelectedRowModel: () => RowModel<TData>
getFilteredSelectedRowModel: () => RowModel<TData>
getFilteredSelectedRowModel: () => RowModel<TData>
getGroupedSelectedRowModel: () => RowModel<TData>
getGroupedSelectedRowModel: () => RowModel<TData>
getIsSelected: () => boolean
getIsSelected: () => boolean
Returns whether or not the row is selected.
getIsSomeSelected: () => boolean
getIsSomeSelected: () => boolean
Returns whether or not some of the row's sub rows are selected.
getIsAllSubRowsSelected: () => boolean
getIsAllSubRowsSelected: () => boolean
Returns whether or not all of the row's sub rows are selected.
getCanSelect: () => boolean
getCanSelect: () => boolean
Returns whether or not the row can be selected.
getCanMultiSelect: () => boolean
getCanMultiSelect: () => boolean
Returns whether or not the row can multi-select.
getCanSelectSubRows: () => boolean
getCanSelectSubRows: () => boolean
Returns whether or not the row can select sub rows automatically when the parent row is selected.
toggleSelected: (value?: boolean) => void
toggleSelected: (value?: boolean) => void
Selects/deselects the row.
getToggleSelectedHandler: () => (event: unknown) => void
getToggleSelectedHandler: () => (event: unknown) => void
Returns a handler that can be used to toggle the row.
Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.