【发布时间】:2017-11-20 01:15:24
【问题描述】:
我在一个页面上有多个自定义构建下拉组件。我使用 setState 触发列表项打开
toggleDropdown = (id) => {
this.setState(prevState => ({
[`dropdown${name}`]: !prevState[`dropdown${id}`] //dropdownA, dropdownB, dropdownC and so on
}))
}
如果在菜单打开时单击下拉菜单,这也会切换它。但是后来我有几个下拉菜单,如果我打开一个下拉菜单,其他下拉菜单不会关闭,如何解决这个问题?我在componentWillMount中用jquery混合反应,在body上绑定click事件,检查下拉项是否可见,如果是则关闭它。
我的问题是,有没有更好的做法来避免使用 jquery?
【问题讨论】:
-
你能提供一个你的 app.js 的例子吗?
标签: javascript jquery reactjs ecmascript-6