javascript - 使用 Material UI/React Stepper 创建步骤的“页面”(如表格分页)
问题描述
使用带有 React 的 Material UI,我试图为流程中的每 4 个步骤创建步骤“页面”。
下面的尝试导致所有 10 个步骤仍然显示在一个视图中,而分页计算每 4 个步骤的正确页数。
return (
<Grid>
<Stepper>
{statusArr.map((label) => {
return (
<Step key={label}>
<StepLabel>{label}</StepLabel>
</Step>
);
})}
</Stepper>
<TablePagination
component="div"
count={statusArr.length}
rowsPerPage={[4]}
page={page}
backIconButtonProps={{
'aria-label': 'previous page',
}}
nextIconButtonProps={{
'aria-label': 'next page',
}}
onChangePage={handleChangePage}
/>
</Grid>
);
理想情况下,我会在这里显示由步进器“点”表示的每一页步骤,而不是表格分页外观/功能。
请让我知道上下文是否需要额外的代码,并感谢您的想法/建议。
解决方案
您只需做一些数学运算即可获得正确的页数
...
const stepsPerPage = 4;
const pageCount = Math.ceil(statusArray.length / stepsPerPage);
return (
<Grid>
<Stepper>
{Array(pageCount).fill().map(page => (
<Step>
...
推荐阅读
- c - 不明白为什么 head = head->next 有效
- matlab - 在 Octave|MATLAB 中生成单位三角矩阵
- java - 克拉纳颤抖着
- python-3.x - Python imaplib 模块 - 如何以 (GMT-06:00) 中部时间(美国和加拿大)格式提取日期
- python - Tensorflow 对象检测训练失败,因为 int() 以 10 为底的无效文字:“{num_steps}”。将 var 读取为字符串而不是 int
- javascript - 将卡片元素大小固定为相同的 html+Scss+javascript
- math - 什么是 (sqrt(1+8*long(num)) - 1)/2?
- swift - 'GDTCORLibrary/Public/GDTCORTransport.h' 文件未找到
- javascript - 添加标签时图表JS中的极地区域旋转
- sql - 需要基于某些条件的sql查询