框架
版本
企业版

展开 API

状态

展开状态存储在表格中,使用以下结构

tsx
export type ExpandedState = true | Record<string, boolean>

export type ExpandedTableState = {
  expanded: ExpandedState
}
export type ExpandedState = true | Record<string, boolean>

export type ExpandedTableState = {
  expanded: ExpandedState
}

行 API

切换展开

tsx
toggleExpanded: (expanded?: boolean) => void
toggleExpanded: (expanded?: boolean) => void

切换行的展开状态 (如果提供了 expanded,则设置为该状态)。

获取是否已展开

tsx
getIsExpanded: () => boolean
getIsExpanded: () => boolean

返回行是否已展开。

获取所有父级是否已展开

tsx
getIsAllParentsExpanded: () => boolean
getIsAllParentsExpanded: () => boolean

返回行的所有父行是否已展开。

获取是否可展开

tsx
getCanExpand: () => boolean
getCanExpand: () => boolean

返回行是否可以展开。

获取切换展开处理器

tsx
getToggleExpandedHandler: () => () => void
getToggleExpandedHandler: () => () => void

返回一个可用于切换行展开状态的函数。此函数可用于绑定到按钮的事件处理程序。

表格选项

手动展开

tsx
manualExpanding?: boolean
manualExpanding?: boolean

启用手动行展开。如果设置为 true,则不会使用 getExpandedRowModel 来展开行,您需要自己在数据模型中执行展开操作。如果您正在进行服务器端展开,这将非常有用。

展开状态更改时

tsx
onExpandedChange?: OnChangeFn<ExpandedState>
onExpandedChange?: OnChangeFn<ExpandedState>

expanded 表格状态更改时,将调用此函数。如果提供了函数,您将负责自行管理此状态。要将托管状态传递回表格,请使用 tableOptions.state.expanded 选项。

自动重置展开状态

tsx
autoResetExpanded?: boolean
autoResetExpanded?: boolean

启用此设置可在展开状态更改时自动重置表格的展开状态。

启用展开

tsx
enableExpanding?: boolean
enableExpanding?: boolean

启用/禁用所有行的展开。

获取展开的行模型

tsx
getExpandedRowModel?: (table: Table<TData>) => () => RowModel<TData>
getExpandedRowModel?: (table: Table<TData>) => () => RowModel<TData>

此函数负责返回展开的行模型。如果未提供此函数,则表格将不会展开行。您可以使用默认导出的 getExpandedRowModel 函数来获取展开的行模型,或实现您自己的。

获取行是否已展开

tsx
getIsRowExpanded?: (row: Row<TData>) => boolean
getIsRowExpanded?: (row: Row<TData>) => boolean

如果提供,则允许您覆盖确定行当前是否已展开的默认行为。

获取行是否可展开

tsx
getRowCanExpand?: (row: Row<TData>) => boolean
getRowCanExpand?: (row: Row<TData>) => boolean

如果提供,则允许您覆盖确定行是否可以展开的默认行为。

分页展开的行

tsx
paginateExpandedRows?: boolean
paginateExpandedRows?: boolean

如果 true,展开的行将与表格的其余部分一起分页 (这意味着展开的行可能会跨越多个页面)。

如果 false,展开的行将不参与分页 (这意味着展开的行将始终在其父页面上呈现。这也意味着将呈现比设置的页面大小更多的行)。

表格 API

设置展开状态

tsx
setExpanded: (updater: Updater<ExpandedState>) => void
setExpanded: (updater: Updater<ExpandedState>) => void

通过更新函数或值更新表格的展开状态

切换所有行展开状态

tsx
toggleAllRowsExpanded: (expanded?: boolean) => void
toggleAllRowsExpanded: (expanded?: boolean) => void

切换所有行的展开状态。可选地,提供一个值来设置展开状态。

重置展开状态

tsx
resetExpanded: (defaultState?: boolean) => void
resetExpanded: (defaultState?: boolean) => void

将表格的展开状态重置为初始状态。如果提供了 defaultState,则展开状态将重置为 {}

获取是否有部分行可展开

tsx
getCanSomeRowsExpand: () => boolean
getCanSomeRowsExpand: () => boolean

返回是否有任何行可以展开。

获取切换所有行展开状态处理器

tsx
getToggleAllRowsExpandedHandler: () => (event: unknown) => void
getToggleAllRowsExpandedHandler: () => (event: unknown) => void

返回一个可用于切换所有行展开状态的处理程序。此处理程序旨在与 input[type=checkbox] 元素一起使用。

获取是否有部分行已展开

tsx
getIsSomeRowsExpanded: () => boolean
getIsSomeRowsExpanded: () => boolean

返回是否有任何行当前已展开。

获取是否所有行已展开

tsx
getIsAllRowsExpanded: () => boolean
getIsAllRowsExpanded: () => boolean

返回是否所有行当前已展开。

获取展开深度

tsx
getExpandedDepth: () => number
getExpandedDepth: () => number

返回展开行的最大深度。

获取展开的行模型

tsx
getExpandedRowModel: () => RowModel<TData>
getExpandedRowModel: () => RowModel<TData>

返回应用展开后的行模型。

获取预展开的行模型

tsx
getPreExpandedRowModel: () => RowModel<TData>
getPreExpandedRowModel: () => RowModel<TData>

返回应用展开前的行模型。

订阅 Bytes

您的每周 JavaScript 新闻。每周一免费发送给超过 10 万名开发者。

Bytes

无垃圾邮件。随时取消订阅。