[英]How to filter in menu by li parent what is inside the ul child of li?
[英]Get clicked <li> item as child inside <ul> <li> parent with React
我正在尝试使用 React 创建嵌套菜单项。 我想像这样创建菜单组件:
<ul>
<li><a href="#">Item-1</a></li>
<li>
<a href="#">Parent Item 2</a>
<div class="dropdown">
<ul class="dropdown-nav">
<li><a href="#">Item2.1</a></li>
</ul>
</div>
</li>
<li><a href="#">Item3</a></li>
</ul>
我创建MenuItem
的组件li
。如果用户设置parent
道具是真的,那么用户应该创建子MenuItems
的内部MenuItem
像下面:
<Menu>
<MenuItem text="Item-1">
<MenuItem text="Parent Item 2" parent>
<MenuItem text="Item2.1">
</MenuItem>
<MenuItem text="Item3">
</Menu>
我想在单击时显示选定的菜单项,但如果存在父项,则仅显示父项文本。无法获取子菜单项文本。
我该如何解决这个问题?
谢谢
可能是因为事件正在冒泡给父级。 如果这是原因,则在单击处理程序中使用evt.stopPropagation()
可以防止出现此问题。
我在 codeandbox 中尝试了这个来演示类似的情况。
列表仅在单击时更改背景颜色,并防止更改父列表。
https://codesandbox.io/s/ecstatic-hooks-r5j3g?fontsize=14
这是一篇关于事件冒泡的文章:
https://javascript.info/bubbling-and-capturing#stopping-bubbling
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.