分页状态存储在表格中,使用以下结构
export type PaginationState = {
pageIndex: number
pageSize: number
}
export type PaginationTableState = {
pagination: PaginationState
}
export type PaginationInitialTableState = {
pagination?: Partial<PaginationState>
}
export type PaginationState = {
pageIndex: number
pageSize: number
}
export type PaginationTableState = {
pagination: PaginationState
}
export type PaginationInitialTableState = {
pagination?: Partial<PaginationState>
}
manualPagination?: boolean
manualPagination?: boolean
启用手动分页。如果此选项设置为 true,表格将不会自动使用 getPaginationRowModel() 分页行,而是希望您在将行传递给表格之前手动分页。如果您正在进行服务器端分页和聚合,这将非常有用。
pageCount?: number
pageCount?: number
当手动控制分页时,您可以提供总 页数 值(如果您知道)。如果您不知道有多少页,可以将其设置为 -1。或者,您可以提供 行数 值,表格将会在内部计算 页数。
rowCount?: number
rowCount?: number
当手动控制分页时,您可以提供总 行数 值(如果您知道)。页数 将根据 行数 和 每页大小 在内部计算。
autoResetPageIndex?: boolean
autoResetPageIndex?: boolean
如果设置为 true,当页面更改状态发生变化时,例如 数据 更新、筛选器更改、分组更改等,分页将被重置为首页。
🧠 注意:如果 手动分页 设置为 true,此选项默认为 false
onPaginationChange?: OnChangeFn<PaginationState>
onPaginationChange?: OnChangeFn<PaginationState>
如果提供了此函数,则当分页状态更改时将调用它,并且您需要自行管理状态。您可以通过 tableOptions.state.pagination 选项将管理的状态传递回表格。
getPaginationRowModel?: (table: Table<TData>) => () => RowModel<TData>
getPaginationRowModel?: (table: Table<TData>) => () => RowModel<TData>
返回分页发生后的行模型,但不包括后续操作。
默认情况下,分页列会自动重新排序到列列表的开头。如果您希望删除它们或保持原样,请在此处设置适当的模式。
setPagination: (updater: Updater<PaginationState>) => void
setPagination: (updater: Updater<PaginationState>) => void
设置或更新 state.pagination 状态。
resetPagination: (defaultState?: boolean) => void
resetPagination: (defaultState?: boolean) => void
将 分页 状态重置为 initialState.pagination,或者可以传递 true 以强制重置为空白默认状态 []。
setPageIndex: (updater: Updater<number>) => void
setPageIndex: (updater: Updater<number>) => void
使用提供的函数或值更新页码。
resetPageIndex: (defaultState?: boolean) => void
resetPageIndex: (defaultState?: boolean) => void
将页码重置为其初始状态。如果 defaultState 为 true,则无论初始状态如何,页码都将重置为 0。
setPageSize: (updater: Updater<number>) => void
setPageSize: (updater: Updater<number>) => void
使用提供的函数或值更新每页大小。
resetPageSize: (defaultState?: boolean) => void
resetPageSize: (defaultState?: boolean) => void
将每页大小重置为其初始状态。如果 defaultState 为 true,则无论初始状态如何,每页大小都将重置为 10。
getPageOptions: () => number[]
getPageOptions: () => number[]
返回当前每页大小的页码选项数组(从零开始索引)。
getCanPreviousPage: () => boolean
getCanPreviousPage: () => boolean
返回表格是否可以转到上一页。
getCanNextPage: () => boolean
getCanNextPage: () => boolean
返回表格是否可以转到下一页。
previousPage: () => void
previousPage: () => void
如果可能,将页码减一。
nextPage: () => void
nextPage: () => void
如果可能,将页码加一。
firstPage: () => void
firstPage: () => void
将页码设置为 0。
lastPage: () => void
lastPage: () => void
将页码设置为最后一页。
getPageCount: () => number
getPageCount: () => number
返回页数。如果手动分页或控制分页状态,这将直接来自 options.pageCount 表格选项,否则将根据表格数据使用总行数和当前每页大小计算得出。
getPrePaginationRowModel: () => RowModel<TData>
getPrePaginationRowModel: () => RowModel<TData>
返回应用任何分页之前表格的行模型。
getPaginationRowModel: () => RowModel<TData>
getPaginationRowModel: () => RowModel<TData>
返回应用分页之后表格的行模型。
您的每周 JavaScript 新闻。每周一免费发送给超过 10 万名开发者。