【发布时间】:2021-10-14 07:15:16
【问题描述】:
当我点击“菜单1”时,所有的子菜单也会显示出来 但我想要的是仅显示/隐藏项目的选定 sunMenu。 (即)如果我单击“菜单 2”,则仅显示“子菜单 3” 我的代码:
this.state = {
menu: [
{
id: 1,
title: "Menu 1",
subMenu: [
{
id: 3,
title: "SubMenu 1"
},
{
id: 4,
title: "SubMenu 2"
}
]
},
{
id: 2,
title: "Menu 2",
subMenu: [
{
id: 5,
title: "SubMenu 3"
}
]
}
],
isHidden: true
};
}
toggleHidden = () =>
this.setState((prevState) => ({ isHidden: !prevState.isHidden }));
return (
<div>
{menu.map((m) => (
<div>
<p onClick={this.toggleHidden}>{m.title}</p>
{!this.state.isHidden &&
m.subMenu.map((s) => (
<div>
<p>{s.title}</p>
</div>
))}
</div>
))}
</div>
);
}
工作示例:https://codesandbox.io/s/jovial-sinoussi-4rgci?file=/src/App.js
【问题讨论】: