简体   繁体   English

MUI-Datatable:可扩展行内的 TableHead 不断重复表格的每一行,表格不居中

[英]MUI-Datatable: TableHead inside Expandable Row keeps on repeating for every row of the table and table does not center

How do I solve this?我该如何解决这个问题? Table headings just keep on repeating for every row in the table as seen in the picture below.表格标题只是不断重复表格中的每一行,如下图所示。 Also, the table is always at the far end of the right side.此外,桌子始终位于右侧的远端。 How can I make this at the center as well?我怎样才能把它放在中心呢?

在此处输入图像描述

Codesandbox: https://codesandbox.io/s/xenodochial-fog-s984v0?file=/src/App.js代码沙盒: https://codesandbox.io/s/xenodochial-fog-s984v0?file=/src/App.js

codes:代码:

 const options = {
    filter: true,
    selectableRows: "none",
    responsive: "simple",
    expandableRows: true,
    renderExpandableRow: (rowData, rowMeta) => {
      console.log(rowData, "rowData");
      return Object.entries(rowData[3]).map(([key, value]) => {
        return (
          <TableContainer>
            <Table>
              <TableHead>
                <TableCell align="right">Name</TableCell>
                <TableCell align="right">Color</TableCell>
              </TableHead>
              <TableBody>
                <TableRow key={key}>
                  <TableCell component="th" scope="row">
                    {value.name}
                  </TableCell>

                  <TableCell align="right">{value.color}</TableCell>

                  {/* Product: {value.name} + {value.size} +{" "}
                  {value.color + value.quantity} */}
                </TableRow>
              </TableBody>
            </Table>
          </TableContainer>
        );
      });
    }
  };

Changing your options object like below, shoud resolve issue.像下面这样更改您的options object,应该可以解决问题。

const options = {
    filter: true,
    selectableRows: "none",
    responsive: "scrollMaxHeight",
    expandableRows: true,
    renderExpandableRow: (rowData, rowMeta) => {
      console.log(rowData);
      return (
        <tr>
          <td colSpan={4}>
            <TableContainer>
              <Table style={{ margin: "0 auto" }}>
                <TableHead>
                  <TableCell align="right">Name</TableCell>
                  <TableCell align="right">Color</TableCell>
                </TableHead>
                <TableBody>
                  {rowData[3].map((row) => {
                    console.log(row);
                    return (
                      <TableRow key={row.id}>
                        <TableCell component="th" scope="row" align="right">
                          {row.name}
                        </TableCell>
                        <TableCell align="right">{row.color}</TableCell>
                      </TableRow>
                    );
                  })}
                </TableBody>
              </Table>
            </TableContainer>
          </td>
        </tr>
      );
    }
  };

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM