我有一个页面上的多个自定义生成下拉组件的反应。我触发列表项使用的setState点击任何地方关闭下拉反应
toggleDropdown = (id) => {
this.setState(prevState => ({
[`dropdown${name}`]: !prevState[`dropdown${id}`] //dropdownA, dropdownB, dropdownC and so on
}))
}
这也将触发,如果被点击下拉菜单时开开。但是,我有更多的下拉菜单,其他下拉菜单不会关闭,如果我打开下拉菜单,如何解决这个问题?我做了一个“hacky”的方式,在componentWillMount中与jquery进行混合反应,在body上绑定点击事件,检查下拉列表项是否可见,如果是,关闭它。
我的问题是,是否有避免使用jQuery的更好的做法?
您可以提供app.js的例子吗? –