【问题标题】:How to add pagination for Collapsible table mui in reactjs如何在reactjs中为可折叠表mui添加分页
【发布时间】:2022-11-19 03:57:22
【问题描述】:

我这里有一个可折叠表示例。但我不知道如何为其添加分页。有人有想法吗?谢谢大家的帮助!

示例:https://codesandbox.io/s/p0td1n?file=/demo.tsx

【问题讨论】:

    标签: reactjs material-ui


    【解决方案1】:

    向表格添加分页对可折叠没有影响。所以你可以这样添加它:

    export default function CollapsibleTable() {
      const [page, setPage] = React.useState(0);
      const [rowsPerPage, setRowsPerPage] = React.useState(5);
    
      const currentRows = rows.filter((r, ind) => {
        return ind >= rowsPerPage * page && ind < rowsPerPage * (page + 1);
      });
    
      const handleChangePage = (event: unknown, newPage: number) => {
        setPage(newPage);
      };
    
      const handleChangeRowsPerPage = (
        event: React.ChangeEvent<HTMLInputElement>
      ) => {
        setRowsPerPage(parseInt(event.target.value, 10));
        setPage(0);
      };
    
      return (
        <TableContainer component={Paper}>
          <Table aria-label="collapsible table">
            <TableHead>
              <TableRow>
                <TableCell />
                <TableCell>Dessert (100g serving)</TableCell>
                <TableCell align="right">Calories</TableCell>
                <TableCell align="right">Fat&nbsp;(g)</TableCell>
                <TableCell align="right">Carbs&nbsp;(g)</TableCell>
                <TableCell align="right">Protein&nbsp;(g)</TableCell>
              </TableRow>
            </TableHead>
            <TableBody>
              {currentRows.map((row) => (
                <Row key={row.name} row={row} />
              ))}
            </TableBody>
          </Table>
          <TablePagination
            rowsPerPageOptions={[5, 10, 25]}
            component="div"
            count={rows.length}
            rowsPerPage={rowsPerPage}
            page={page}
            onPageChange={handleChangePage}
            onRowsPerPageChange={handleChangeRowsPerPage}
          />
        </TableContainer>
      );
    }
    

    您可以查看 this sandbox 以获取带分页的可折叠表格的实时工作示例。

    【讨论】:

    • 感谢您的帮助。我正在尝试您的解决方案!
    猜你喜欢
    • 2018-10-05
    • 2022-12-08
    • 2017-06-01
    • 1970-01-01
    • 2022-11-26
    • 2022-11-10
    • 2014-03-09
    • 2010-11-18
    • 2021-11-25
    相关资源
    最近更新 更多