【发布时间】:2020-12-07 22:08:26
【问题描述】:
我有一个看起来像this 的折叠桌。但是,当我单击一行时,两行都会展开。
这是我的代码的样子:
const Transaction = ({ categories }) => {
const [open, setOpen] = useState(false);
let categoryList = categories.map((category, index) => {
return (
<TableRow key={index}>
<TableCell>
<IconButton size="small" onClick={() => setOpen(!open)}>
{open ? <KeyboardArrowUpIcon /> : <KeyboardArrowDownIcon />}
</IconButton>
</TableCell>
<TableCell component="th" scope="row">
{category}
</TableCell>
<TableCell />
<TableCell />
<TableCell />
<TableCell />
</TableRow>
);
});
return (
<div className={classes.root}>
<Grid container spacing={2}>
<Grid item xs={12}>
<TableContainer component={Paper}>
<Table>
<TableHead>
<TableRow>
<TableCell />
<TableCell>Category</TableCell>
<TableCell />
<TableCell />
<TableCell />
<TableCell />
</TableRow>
</TableHead>
<TableBody>
{categoryList}
</TableBody>
</Table>
</TableContainer>
</Grid>
</Grid>
</div>
);
};
在我的 categoryList 中,我使用 index 作为键,但它仍然扩展两行而不是选定的特定行。我怎样才能只展开一行?
【问题讨论】:
标签: reactjs loops dictionary indexing key