gpt4 book ai didi

javascript - 如何摆脱 TableBody 中的表格单元格?

转载 作者:行者123 更新时间:2023-12-04 15:08:01 26 4
gpt4 key购买 nike

因此,我正在为从后端服务器检索的数据创建一个表。我正在使用 Material UI 中的 Table 组件。从我检索的数据来看,它可能是空的或包含一个对象。我遇到的问题是,如果它是空的,我想显示 Table 组件中间没有日志供用户查看。但是,因为我在 TableHead 中定义了 TableCell,单元格的数量被复制到 TableBody 中(我相信是这样),这是阻止我的消息居中。

这是我的组件:

export default function BasicTable() {
const classes = useStyles();

return (
<TableContainer component={Paper}>
<Table className={classes.table} aria-label="simple table">
<TableHead>
<TableRow>
<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>
{rows ? (
<div className={classes.noLogs}>
<p>No logs</p>
</div>
) : (
rows.map((row) => (
<TableRow key={row.name}>
<TableCell component="th" scope="row">
{row.name}
</TableCell>
<TableCell align="right">{row.calories}</TableCell>
<TableCell align="right">{row.fat}</TableCell>
<TableCell align="right">{row.carbs}</TableCell>
<TableCell align="right">{row.protein}</TableCell>
</TableRow>
))
)}
</TableBody>
</Table>
</TableContainer>
);
}

完整代码可在 CodeSandbox 上获得.

如您所见,消息仅集中在 TableBody 的第一个单元格中。有没有一种方法可以仅在数据为空时删除这些单元格或通过其他方法将消息居中?

最佳答案

除了在 table 中使用 divp 标签,您可以添加一个 TableRow 和一个表格单元格。您可以将 colspan={5} 添加到您的 TableCell 以指示单元格扩展了多少列,如下所示:

<TableContainer component={Paper}>
<Table className={classes.table} aria-label="simple table">
<TableHead>
<TableRow>
<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>
{rows ? (
<TableRow>
<TableCell colspan={5} align="center">
No items found
</TableCell>
</TableRow>
) : (
rows.map((row) => (
<TableRow key={row.name}>
<TableCell component="th" scope="row">
{row.name}
</TableCell>
<TableCell align="right">{row.calories}</TableCell>
<TableCell align="right">{row.fat}</TableCell>
<TableCell align="right">{row.carbs}</TableCell>
<TableCell align="right">{row.protein}</TableCell>
</TableRow>
))
)}
</TableBody>
</Table>
</TableContainer>

关于javascript - 如何摆脱 TableBody 中的表格单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65726330/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com