Lzh on GitHub

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>[]

返回考虑列可见性的行的单元格数组。