框架
版本
企业版

行固定 API

Can-Pin

行是否可以被固定的能力由以下条件确定:

  • options.enableRowPinning 解析为 true
  • options.enablePinning 未设置为 false

状态

固定状态存储在表中,其结构如下:

tsx
export type RowPinningPosition = false | 'top' | 'bottom'

export type RowPinningState = {
  top?: string[]
  bottom?: string[]
}

export type RowPinningRowState = {
  rowPinning: RowPinningState
}
export type RowPinningPosition = false | 'top' | 'bottom'

export type RowPinningState = {
  top?: string[]
  bottom?: string[]
}

export type RowPinningRowState = {
  rowPinning: RowPinningState
}

表选项

enableRowPinning

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

为表中所有行启用/禁用行固定。

keepPinnedRows

tsx
keepPinnedRows?: boolean
keepPinnedRows?: boolean

当设置为 false 时,如果固定行被过滤或分页出表,则将不可见。当设置为 true 时,固定行将始终可见,无论过滤或分页如何。默认为 true

onRowPinningChange

tsx
onRowPinningChange?: OnChangeFn<RowPinningState>
onRowPinningChange?: OnChangeFn<RowPinningState>

如果提供了此函数,则当 state.rowPinning 更改时,将使用 updaterFn 调用它。这将覆盖默认的内部状态管理,因此您还需要从自己的托管状态中提供 state.rowPinning

表 API

setRowPinning

tsx
setRowPinning: (updater: Updater<RowPinningState>) => void
setRowPinning: (updater: Updater<RowPinningState>) => void

设置或更新 state.rowPinning 状态。

resetRowPinning

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

rowPinning 状态重置为 initialState.rowPinning,或者可以传入 true 来强制将默认的空状态重置为 {}

getIsSomeRowsPinned

tsx
getIsSomeRowsPinned: (position?: RowPinningPosition) => boolean
getIsSomeRowsPinned: (position?: RowPinningPosition) => boolean

返回是否有任何行被固定。可以选择指定仅检查 topbottom 位置的固定行。

getTopRows

tsx
getTopRows: () => Row<TData>[]
getTopRows: () => Row<TData>[]

返回所有顶部固定的行。

getBottomRows

tsx
getBottomRows: () => Row<TData>[]
getBottomRows: () => Row<TData>[]

返回所有底部固定的行。

getCenterRows

tsx
getCenterRows: () => Row<TData>[]
getCenterRows: () => Row<TData>[]

返回所有未固定到顶部或底部的行。

行 API

pin

tsx
pin: (position: RowPinningPosition) => void
pin: (position: RowPinningPosition) => void

将一行固定到 'top''bottom',或者如果传入 false,则将行取消固定到中心。

getCanPin

tsx
getCanPin: () => boolean
getCanPin: () => boolean

返回该行是否可以被固定。

getIsPinned

tsx
getIsPinned: () => RowPinningPosition
getIsPinned: () => RowPinningPosition

返回该行的固定位置。('top''bottom'false

getPinnedIndex

tsx
getPinnedIndex: () => number
getPinnedIndex: () => number

返回该行在固定行组内的数字固定索引。

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

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

Bytes

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

订阅 Bytes

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

Bytes

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