列可见性状态存储在表格中,使用以下结构:
export type VisibilityState = Record<string, boolean>
export type VisibilityTableState = { columnVisibility: VisibilityState}enableHidingenableHiding?: boolean启用/禁用隐藏列
getCanHidegetCanHide: () => boolean返回列是否可以隐藏
getIsVisiblegetIsVisible: () => boolean返回列是否可见
toggleVisibilitytoggleVisibility: (value?: boolean) => void切换列的可见性
getToggleVisibilityHandlergetToggleVisibilityHandler: () => (event: unknown) => void返回一个函数,用于切换列的可见性。此函数可用于绑定到复选框的事件处理程序。
onColumnVisibilityChangeonColumnVisibilityChange?: OnChangeFn<VisibilityState>如果提供了此函数,当 state.columnVisibility 发生变化时,将调用 updaterFn。这将覆盖默认的内部状态管理,因此您需要在表格外部完全或部分地持久化状态更改。
enableHidingenableHiding?: boolean启用/禁用列的隐藏。
getVisibleFlatColumnsgetVisibleFlatColumns: () => Column < TData > []返回一个包含可见列(包括父列)的扁平数组。
getVisibleLeafColumnsgetVisibleLeafColumns: () => Column < TData > []返回一个包含可见的叶子节点列的扁平数组。
getLeftVisibleLeafColumnsgetLeftVisibleLeafColumns: () => Column < TData > []如果有列固定,返回一个包含在表格左侧可见的叶子节点列的扁平数组。
getRightVisibleLeafColumnsgetRightVisibleLeafColumns: () => Column < TData > []如果有列固定,返回一个包含在表格右侧可见的叶子节点列的扁平数组。
getCenterVisibleLeafColumnsgetCenterVisibleLeafColumns: () => Column < TData > []如果有列固定,返回一个包含在表格未固定/中间部分可见的叶子节点列的扁平数组。
setColumnVisibilitysetColumnVisibility: (updater: Updater<VisibilityState>) => void通过更新函数或值更新列的可见性状态
resetColumnVisibilityresetColumnVisibility: (defaultState?: boolean) => void将列的可见性状态重置为初始状态。如果提供了 defaultState,状态将重置为 {}
toggleAllColumnsVisibletoggleAllColumnsVisible: (value?: boolean) => void切换所有列的可见性
getIsAllColumnsVisiblegetIsAllColumnsVisible: () => boolean返回是否所有列都可见
getIsSomeColumnsVisiblegetIsSomeColumnsVisible: () => boolean返回是否有些列可见
getToggleAllColumnsVisibilityHandlergetToggleAllColumnsVisibilityHandler: () => ((event: unknown) => void)返回一个用于切换所有列可见性的处理程序,用于绑定到 input[type=checkbox] 元素。