列排序 API

状态

列排序状态存储在 table 上,使用以下结构

tsx
export type ColumnOrderTableState = {
  columnOrder: ColumnOrderState
}

export type ColumnOrderState = string[]
export type ColumnOrderTableState = {
  columnOrder: ColumnOrderState
}

export type ColumnOrderState = string[]

Table 选项

onColumnOrderChange

tsx
onColumnOrderChange?: OnChangeFn<ColumnOrderState>
onColumnOrderChange?: OnChangeFn<ColumnOrderState>

如果提供此函数,当 state.columnOrder 更改时,将使用 updaterFn 调用它。 这将覆盖默认的内部状态管理,因此您需要将状态更改完全或部分地持久化在 table 之外。

Table API

setColumnOrder

tsx
setColumnOrder: (updater: Updater<ColumnOrderState>) => void
setColumnOrder: (updater: Updater<ColumnOrderState>) => void

设置或更新 state.columnOrder 状态。

resetColumnOrder

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

columnOrder 状态重置为 initialState.columnOrder,或者可以传递 true 以强制默认空白状态重置为 []

Column API

getIndex

tsx
getIndex: (position?: ColumnPinningPosition) => number
getIndex: (position?: ColumnPinningPosition) => number

返回列在可见列顺序中的索引。 可选地传递 position 参数以获取列在 table 子部分中的索引。

getIsFirstColumn

tsx
getIsFirstColumn: (position?: ColumnPinningPosition) => boolean
getIsFirstColumn: (position?: ColumnPinningPosition) => boolean

如果列是可见列顺序中的第一列,则返回 true。 可选地传递 position 参数以检查列是否是 table 子部分中的第一列。

getIsLastColumn

tsx
getIsLastColumn: (position?: ColumnPinningPosition) => boolean
getIsLastColumn: (position?: ColumnPinningPosition) => boolean

如果列是可见列顺序中的最后一列,则返回 true。 可选地传递 position 参数以检查列是否是 table 子部分中的最后一列。

订阅 Bytes

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

Bytes

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