框架
版本
企业版

展开 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

toggleExpanded

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

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

getIsExpanded

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

返回该行是否已展开。

getIsAllParentsExpanded

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

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

getCanExpand

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

返回该行是否可以展开。

getToggleExpandedHandler

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

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

表格选项

manualExpanding

tsx
manualExpanding?: boolean
manualExpanding?: boolean

启用手动行展开。如果设置为 true,则不会使用 getExpandedRowModel 来展开行,您需要自行在数据模型中处理展开。这在使用服务器端展开时很有用。

onExpandedChange

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

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

autoResetExpanded

tsx
autoResetExpanded?: boolean
autoResetExpanded?: boolean

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

enableExpanding

tsx
enableExpanding?: boolean
enableExpanding?: boolean

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

getExpandedRowModel

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

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

getIsRowExpanded

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

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

getRowCanExpand

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

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

paginateExpandedRows

tsx
paginateExpandedRows?: boolean
paginateExpandedRows?: boolean

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

如果 false,展开的行将不会考虑分页(这意味着展开的行将始终显示在其父页面上。这也意味着将渲染比设置的页面大小更多的行)。

表格 API

setExpanded

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

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

toggleAllRowsExpanded

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

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

resetExpanded

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

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

getCanSomeRowsExpand

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

返回是否存在任何可以展开的行。

getToggleAllRowsExpandedHandler

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

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

getIsSomeRowsExpanded

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

返回是否存在任何当前已展开的行。

getIsAllRowsExpanded

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

返回所有行是否都已展开。

getExpandedDepth

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

返回展开行的最大深度。

getExpandedRowModel

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

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

getPreExpandedRowModel

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

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

我们的合作伙伴
Code Rabbit
AG Grid
订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

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

订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

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