You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改MaterialReactTable的rowsPerPage实现每页显示5条数据?

解决MaterialReactTable默认每页显示条数不生效的问题

问题出在MaterialReactTable的分页逻辑不单纯依赖muiTablePaginationProps,这个属性主要用于配置分页组件的UI选项(比如可选条数列表),而表格默认的每页条数需要通过表格自身的状态配置来设置。

你可以通过两种方式解决:

方式一:非受控状态(设置初始默认值)

通过initialState.pagination.pageSize指定初始每页条数,配合muiTablePaginationProps锁定可选条数:

<MaterialReactTable
  columns={columns}
  data={data.data}
  initialState={{
    pagination: {
      pageSize: 5, // 设置初始每页显示5条
    },
  }}
  muiTablePaginationProps={{
    rowsPerPageOptions: [5], // 仅提供5条这个可选选项
  }}
/>

方式二:受控状态(手动控制分页状态)

如果需要在外部控制分页状态,可使用pagination和onPaginationChange props:

import { useState } from 'react';

const [pagination, setPagination] = useState({
  pageSize: 5,
});

<MaterialReactTable
  columns={columns}
  data={data.data}
  pagination={pagination}
  onPaginationChange={setPagination}
  muiTablePaginationProps={{
    rowsPerPageOptions: [5],
  }}
/>

原配置不生效的原因

muiTablePaginationProps.rowsPerPage会被表格内部状态覆盖,因为MaterialReactTable会自行管理分页状态,外部传递的该属性优先级低于表格自身state。因此必须通过表格的initialState或受控pagination props来设置默认条数。

内容的提问来源于stack exchange,提问作者Elham Bagheri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 08:07:09