【发布时间】:2020-10-27 09:15:33
【问题描述】:
我试图在我的 React Material App 中一次只选择一行。我现在的问题是它突出显示了许多行。我只需要一次突出显示/选择一行。
请检查此代码框链接
代码
const [selected, setSelected] = React.useState([]);
const selectFood = (event, food) => {
const selectedIndex = selected.indexOf(food.name);
let newSelected = [];
if (selectedIndex === -1) {
newSelected = newSelected.concat(selected, food.name);
} else if (selectedIndex === 0) {
newSelected = newSelected.concat(selected.slice(1));
} else if (selectedIndex === selected.length - 1) {
newSelected = newSelected.concat(selected.slice(0, -1));
} else if (selectedIndex > 0) {
newSelected = newSelected.concat(
selected.slice(0, selectedIndex),
selected.slice(selectedIndex + 1)
);
}
setSelected(newSelected);
};
const isSelected = row => selected.indexOf(row.name) !== -1;
【问题讨论】:
标签: javascript reactjs ecmascript-6 react-material