Column Visibility APIs
状态 (State)
列可见性状态以以下形式存储在表格中:
export type VisibilityState = Record<string, boolean>
export type VisibilityTableState = {
columnVisibility: VisibilityState
}
列定义选项 (Column Def Options)
enableHiding
enableHiding?: boolean
启用/禁用列的隐藏功能。
列 API (Column API)
getCanHide
getCanHide: () => boolean
返回列是否可以被隐藏。
getIsVisible
getIsVisible: () => boolean
返回列是否可见。
toggleVisibility
toggleVisibility: (value?: boolean) => void
切换列的可见性。
getToggleVisibilityHandler
getToggleVisibilityHandler: () => (event: unknown) => void
返回一个函数,可用于切换列的可见性。此函数可用于绑定到复选框的事件处理程序。
表格选项 (Table Options)
onColumnVisibilityChange
onColumnVisibilityChange?: OnChangeFn<VisibilityState>
如果提供,当 state.columnVisibility 改变时,此函数将使用 updaterFn 调用。这会覆盖默认的内部状态管理,因此你需要完全或部分地在表格之外持久化状态更改。
enableHiding
enableHiding?: boolean
启用/禁用列的隐藏功能。
表格 API (Table API)
getVisibleFlatColumns
getVisibleFlatColumns: () => Column<TData>[]
返回可见列的扁平数组,包括父列。
getVisibleLeafColumns
getVisibleLeafColumns: () => Column<TData>[]
返回可见叶节点列的扁平数组。
getLeftVisibleLeafColumns
getLeftVisibleLeafColumns: () => Column<TData>[]
如果启用列固定,返回表格左侧部分可见叶节点列的扁平数组。
getRightVisibleLeafColumns
getRightVisibleLeafColumns: () => Column<TData>[]
如果启用列固定,返回表格右侧部分可见叶节点列的扁平数组。
getCenterVisibleLeafColumns
getCenterVisibleLeafColumns: () => Column<TData>[]
如果启用列固定,返回表格未固定/中心部分可见叶节点列的扁平数组。
setColumnVisibility
setColumnVisibility: (updater: Updater<VisibilityState>) => void
通过更新函数或值更新列可见性状态。
resetColumnVisibility
resetColumnVisibility: (defaultState?: boolean) => void
将列可见性状态重置为初始状态。如果提供了 defaultState,状态将重置为 {}。
toggleAllColumnsVisible
toggleAllColumnsVisible: (value?: boolean) => void
切换所有列的可见性。
getIsAllColumnsVisible
getIsAllColumnsVisible: () => boolean
返回所有列是否都可见。
getIsSomeColumnsVisible
getIsSomeColumnsVisible: () => boolean
返回是否有部分列可见。
getToggleAllColumnsVisibilityHandler
getToggleAllColumnsVisibilityHandler: () => ((event: unknown) => void)
返回一个用于切换所有列可见性的处理程序,旨在绑定到 input[type=checkbox] 元素。
行 API (Row API)
getVisibleCells
getVisibleCells: () => Cell<TData>[]
返回考虑列可见性的行的单元格数组。