Expanding APIs
状态 (State)
展开状态以以下形式存储在表格中:
export type ExpandedState = true | Record<string, boolean>
export type ExpandedTableState = {
expanded: ExpandedState
}
行 API (Row API)
toggleExpanded
toggleExpanded: (expanded?: boolean) => void
切换行的展开状态(如果提供了 expanded 则设置其状态)。
getIsExpanded
getIsExpanded: () => boolean
返回行是否已展开。
getIsAllParentsExpanded
getIsAllParentsExpanded: () => boolean
返回行的所有父行是否都已展开。
getCanExpand
getCanExpand: () => boolean
返回行是否可以展开。
getToggleExpandedHandler
getToggleExpandedHandler: () => () => void
返回一个函数,可用于切换行的展开状态。此函数可用于绑定到按钮的事件处理程序。
表格选项 (Table Options)
manualExpanding
manualExpanding?: boolean
启用手动行展开。如果此项设置为 true,则 getExpandedRowModel 将不会用于展开行,你将需要在自己的数据模型中执行展开操作。这在你进行服务器端展开时很有用。
onExpandedChange
onExpandedChange?: OnChangeFn<ExpandedState>
此函数在 expanded 表格状态更改时调用。如果提供了函数,你将负责自行管理此状态。要将管理的状态传回表格,请使用 tableOptions.state.expanded 选项。
autoResetExpanded
autoResetExpanded?: boolean
启用此设置可在展开状态更改时自动重置表格的展开状态。
enableExpanding
enableExpanding?: boolean
启用/禁用所有行的展开功能。
getExpandedRowModel
getExpandedRowModel?: (table: Table<TData>) => () => RowModel<TData>
此函数负责返回展开的行模型。如果未提供此函数,表格将不会展开行。你可以使用默认导出的 getExpandedRowModel 函数来获取展开的行模型,或者实现你自己的。
getIsRowExpanded
getIsRowExpanded?: (row: Row<TData>) => boolean
如果提供,允许你覆盖确定行当前是否已展开的默认行为。
getRowCanExpand
getRowCanExpand?: (row: Row<TData>) => boolean
如果提供,允许你覆盖确定行是否可以展开的默认行为。
paginateExpandedRows
paginateExpandedRows?: boolean
如果为 true,展开的行将与表格的其余部分一起分页(这意味着展开的行可能会跨多个页面)。
如果为 false,展开的行将不考虑分页(这意味着展开的行将始终在其父页面上渲染。这也意味着将渲染比设置的页面大小更多的行)。
表格 API (Table API)
setExpanded
setExpanded: (updater: Updater<ExpandedState>) => void
通过更新函数或值更新表格的展开状态。
toggleAllRowsExpanded
toggleAllRowsExpanded: (expanded?: boolean) => void
切换所有行的展开状态。可选地,提供一个值来设置展开状态。
resetExpanded
resetExpanded: (defaultState?: boolean) => void
将表格的展开状态重置为初始状态。如果提供了 defaultState,展开状态将重置为 {}。
getCanSomeRowsExpand
getCanSomeRowsExpand: () => boolean
返回是否存在任何可以展开的行。
getToggleAllRowsExpandedHandler
getToggleAllRowsExpandedHandler: () => (event: unknown) => void
返回一个处理程序,可用于切换所有行的展开状态。此处理程序旨在与 input[type=checkbox] 元素一起使用。
getIsSomeRowsExpanded
getIsSomeRowsExpanded: () => boolean
返回是否存在任何当前已展开的行。
getIsAllRowsExpanded
getIsAllRowsExpanded: () => boolean
返回所有行当前是否都已展开。
getExpandedDepth
getExpandedDepth: () => number
返回已展开行的最大深度。
getExpandedRowModel
getExpandedRowModel: () => RowModel<TData>
返回应用展开后的行模型。
getPreExpandedRowModel
getPreExpandedRowModel: () => RowModel<TData>
返回应用展开前的行模型。