表格分页
表格分页是一个界面工具,用于拆分大量数据,以便用户更轻松地导航。
TablePagination API
导入
import { TablePagination } from '@mui/base/TablePagination';
// or
import { TablePagination } from '@mui/base';了解更多关于差异的信息,请阅读关于最小化捆绑包大小的指南。
原生组件的 Props 也可用。
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| count* | number | - | 总行数。 |
| onPageChange* | func | - | 当页面更改时触发的回调。 签名: function(event: React.MouseEvent
|
| page* | integer | - | 当前页面的从零开始的索引。 |
| rowsPerPage* | integer | - | 每页的行数。 |
| getItemAriaLabel | func | function defaultGetAriaLabel(type: ItemAriaLabelType) { return `转到 ${type} 页`; } | 接受一个函数,该函数返回一个字符串值,为当前页面提供用户友好的名称。这对屏幕阅读器用户非常重要。 签名: function(type: string) => string
|
| labelDisplayedRows | func | function defaultLabelDisplayedRows({ from, to, count }: LabelDisplayedRowsArgs) { return `${from}–${to} / ${count !== -1 ? count : `超过 ${to}`}`; } | 自定义显示的行标签。使用 |
| labelId | string | - | 分页中标签元素的 ID。 |
| labelRowsPerPage | node | '每页行数:' | 自定义每页行数标签。 |
| onRowsPerPageChange | func | - | 当每页行数更改时触发的回调。 签名: function(event: React.ChangeEvent
|
| rowsPerPageOptions | Array<number | { label: string, value: number }> | [10, 25, 50, 100] | 自定义每页行数选择字段的选项。如果少于两个选项可用,则不会显示选择字段。使用 -1 作为值和自定义标签以显示所有行。 |
| selectId | string | - | 分页中选择元素的 ID。 |
| slotProps | { actions?: func | object, displayedRows?: func | object, menuItem?: func | object, root?: func | object, select?: func | object, selectLabel?: func | object, spacer?: func | object, toolbar?: func | object } | {} | 用于 TablePagination 内部每个插槽的 props。 |
| slots | { actions?: elementType, displayedRows?: elementType, menuItem?: elementType, root?: elementType, select?: elementType, selectLabel?: elementType, spacer?: elementType, toolbar?: elementType } | {} | 用于 TablePagination 内部每个插槽的组件。可以是 HTML 元素的字符串或组件。 有关更多详细信息,请参阅下面的 Slots API。 |
ref 被转发到根元素。要了解如何自定义插槽,请查看覆盖组件结构指南。
| 插槽名称 | 类名 | 默认组件 | 描述 |
|---|---|---|---|
| root | .base-TablePagination-root | 'td' | 渲染根组件的组件。 |
| actions | .base-TablePagination-actions | TablePaginationActions | 渲染操作的组件。 |
| select | .base-TablePagination-select | 'select' | 渲染选择器的组件。 |
| selectLabel | .base-TablePagination-selectLabel | 'p' | 渲染选择器标签的组件。 |
| menuItem | .base-TablePagination-menuItem | 'option' | 渲染菜单项的组件。 |
| displayedRows | .base-TablePagination-displayedRows | 'p' | 渲染显示行数的组件。 |
| toolbar | .base-TablePagination-toolbar | 'div' | 渲染工具栏的组件。 |
| spacer | .base-TablePagination-spacer | 'div' | 渲染间隔的组件。 |
这些类名对于使用 CSS 进行样式设置非常有用。当特定状态被触发时,它们会被应用于组件的插槽。
| 类名 | 描述 |
|---|---|
| .base-TablePagination-input | 应用于 Select 组件 root 元素的类名。 |
| .base-TablePagination-selectIcon | 应用于 Select 组件 icon 类的类名。 |
| .base-TablePagination-selectRoot | 应用于 Select 组件 root 元素的类名。 |