gpt4 book ai didi

javascript - 在悬停reactjs上显示菜单

转载 作者:行者123 更新时间:2023-12-04 13:39:31 25 4
gpt4 key购买 nike

在 react 应用程序中,我使用 reactstrap css 框架来制作下拉菜单以列出下拉菜单。

Example.Js

      <Dropdown
className="d-inline-block"
onMouseOver={this.onMouseEnter}
onMouseLeave={this.onMouseLeave}
isOpen={this.state.dropdownOpen}
toggle={this.toggle}
>
<DropdownToggle caret>Dropdown1</DropdownToggle>
<DropdownMenu>
<DropdownItem header>Submenu 1</DropdownItem>
<DropdownItem>Submenu 1.1</DropdownItem>
</DropdownMenu>
&nbsp;&nbsp;&nbsp;
<DropdownToggle caret>Dropdown2</DropdownToggle>
<DropdownMenu>
<DropdownItem header>Submenu 2</DropdownItem>
<DropdownItem>Submenu 2.1</DropdownItem>
<DropdownItem>Submenu 2.2</DropdownItem>
</DropdownMenu>
&nbsp;&nbsp;&nbsp;
<br /><br />
<DropdownToggle caret>Dropdown3</DropdownToggle>
<DropdownMenu>
<DropdownItem header>Submenu 3</DropdownItem>
<DropdownItem>Submenu 3.1</DropdownItem>
<DropdownItem>Submenu 3.2</DropdownItem>
<DropdownItem>Submenu 3.3</DropdownItem>
</DropdownMenu>
</Dropdown>

这里我做了 setState设置 dropDownOpen 的状态在 onMouseOver 等事件中和 onMouseLeave .

问题 悬停在单个下拉菜单上,每个下拉菜单都会打开。

Click here for Working Demo

请帮我制作悬停下拉菜单以仅列出悬停菜单和 不是全部一次。

注:在我的实际应用程序中,这些下拉菜单将是动态的,所以我无法制作任何硬编码状态,如 dropDown1 , dropDown2 , dropDown3 ... ETC ..

它可能有任何 n下拉菜单的数量..所以请给我解决方案以考虑动态菜单。

最佳答案

基本上每个下拉菜单都需要有自己的Dropdown复合组件,具有自己的状态和处理程序。我 fork 并更新了你的演示,希望能给你正确的想法。

<div>
<Dropdown
className="d-inline-block"
onMouseOver={this.onMouseEnter}
onMouseLeave={this.onMouseLeave}
isOpen={this.state.dropdownOpen1}
toggle={this.toggle1}
>
<DropdownToggle caret>Dropdown1</DropdownToggle>
<DropdownMenu>
<DropdownItem header>Submenu 1</DropdownItem>
<DropdownItem>Submenu 1.1</DropdownItem>
</DropdownMenu>
&nbsp;&nbsp;&nbsp;
</Dropdown>
<Dropdown
className="d-inline-block"
// onMouseOver={this.onMouseEnter}
// onMouseLeave={this.onMouseLeave}
isOpen={this.state.dropdownOpen2}
toggle={this.toggle2}
>

<DropdownToggle caret>Dropdown2</DropdownToggle>
<DropdownMenu>
<DropdownItem header>Submenu 2</DropdownItem>
<DropdownItem>Submenu 2.1</DropdownItem>
<DropdownItem>Submenu 2.2</DropdownItem>
</DropdownMenu>
&nbsp;&nbsp;&nbsp;
<br /><br />

</Dropdown>
<Dropdown
className="d-inline-block"
// onMouseOver={this.onMouseEnter}
// onMouseLeave={this.onMouseLeave}
isOpen={this.state.dropdownOpen3}
toggle={this.toggle3}
>

<DropdownToggle caret>Dropdown3</DropdownToggle>
<DropdownMenu>
<DropdownItem header>Submenu 3</DropdownItem>
<DropdownItem>Submenu 3.1</DropdownItem>
<DropdownItem>Submenu 3.2</DropdownItem>
<DropdownItem>Submenu 3.3</DropdownItem>
</DropdownMenu>
</Dropdown>
</div>

https://stackblitz.com/edit/reactstrap-v6-2dnzex?file=Example.js

关于javascript - 在悬停reactjs上显示菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59574892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com