【发布时间】:2019-04-24 11:10:34
【问题描述】:
当我单击导航栏中的单个下拉菜单链接时,所有下拉菜单链接也会显示或显示。如何通过只显示一个下拉菜单链接来解决此问题?
我已尝试更改指向 aria-labelledby 的 id 值
这是我的应用程序的状态
state = {
dropDown: false
};
handleDropdown = e => {
this.setState({ dropDown: !this.state.dropDown });
};
渲染函数内部
render() {
const { dropDown } = this.state;
/*Conditional statement to select a class base on the state*/
const dropMenu = dropDown ? 'dropdown-menu show' : 'dropdown-menu';
/*The two dropdown menu list the displays(both) even when one is clicked*/
<li className="nav-item dropdown">
<Link
onClick={this.handleDropdown}
className="nav-link dropdown-toggle"
href="#"
id="navbarDropdown"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
Dropdown
</Link>
<div className={dropMenu} aria-labelledby="navbarDropdown">
<Link className="dropdown-item" to="#">
Action
</Link>
<Link className="dropdown-item" to="#">
Another action
</Link>
<div className="dropdown-divider" />
<Link className="dropdown-item" to="#">
Something else here
</Link>
</div>
</li>
<li className="nav-item dropdown">
<Link
onClick={this.handleDropdown}
className="nav-link dropdown-toggle"
href="#"
id="navbarDropdown"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
Dropdown
</Link>
<div className={dropMenu} aria-labelledby="navbarDropdown">
<Link className="dropdown-item" to="#">
Action
</Link>
<Link className="dropdown-item" to="#">
Another action
</Link>
<div className="dropdown-divider" />
<Link className="dropdown-item" to="#">
Something else here
</Link>
</div>
</li>
};
【问题讨论】:
-
作为替代你手写的,你应该使用别人的代码。 reactstrap.github.io/components/navs 这包含了所有 Bootstrap 4 菜单。
-
感谢您的资源。但是在这个项目中,我想使用 Bootstrap 作为依赖,而不是使用像 react-bootstrap 这样的 Bootstrap 包
标签: javascript reactjs bootstrap-4