【发布时间】:2021-10-27 14:35:07
【问题描述】:
我正在尝试创建一个管理面板,其中有一个侧边栏菜单。我创建了一个下拉菜单,它使用 useState 挂钩工作,但没有按我的意愿工作。我想要的是当我点击 Clients 时,if 语句应该只为它的孩子运行,而不是为所有兄弟姐妹运行。
const [isActive, setIsActive] = useState(false);
const handleToggle = () => {
setIsActive(!isActive)
}
下面是下拉代码。
<li>
<a className={`${isActive?'open-sibling':'hidden-sibling'} left-menu-list`} onClick={handleToggle}>
<i className="las la-user-alt mr-2"></i>
<span>Clients</span>
<i className="las la-angle-up ml-auto"></i>
</a>
<ul>
<Link href="/clients/list">
<li>
<a className="left-menu-list">
<i className="las la-users mr-2"></i> View All Clients
</a>
</li>
</Link>
</ul>
</li>
请找到输出的GIF:-
【问题讨论】:
-
您的所有菜单类别是否只有一个
isActive标志? -
是的@Danila,我只有
isActive标志用于所有其他菜单类别。
标签: javascript reactjs react-hooks next.js