Javascript 关闭滚动上的下拉菜单
我目前正在使用Javascript 关闭滚动上的下拉菜单,javascript,reactjs,drop-down-menu,antd,Javascript,Reactjs,Drop Down Menu,Antd,我目前正在使用Ant Design进行一个项目,在一个页面上有一个下拉菜单。当你点击菜单时,它会打开下拉菜单,但如果你向下滚动,菜单仍会保持打开状态。我希望在用户向下滚动时,菜单关闭 我试图实现一个handleScroll()函数,以便将is与提供的proponVisibleChange一起使用。然而,我不确定我应该在函数中添加什么来让它工作 handleScroll = (e) => { window.addEventListener('scroll', () => { conso
Ant Design
进行一个项目,在一个页面上有一个下拉菜单。当你点击菜单时,它会打开下拉菜单,但如果你向下滚动,菜单仍会保持打开状态。我希望在用户向下滚动时,菜单关闭
我试图实现一个handleScroll()
函数,以便将is与提供的proponVisibleChange
一起使用。然而,我不确定我应该在函数中添加什么来让它工作
handleScroll = (e) => {
window.addEventListener('scroll', () => {
console.log('scrolling');
})
}
<Dropdown onVisibleChange={visible => this.handleScroll(
console.log(visible)) } trigger={['click']} overlay={
<Menu>
<Menu.Item key="1"
onClick={() => this.scrollTo(this.whyRef)}>
<Icon icon={u1F427} /> <strong>WHY</strong>
</Menu.Item>
</Menu>
}>
<Dropdown>
handleScroll=(e)=>{
window.addEventListener('scroll',()=>{
console.log(“滚动”);
})
}
这是我的手卷(
console.log(可见))}trigger={['click']}overlay={
this.scrollTo(this.whyRef)}>
为什么
}>
您需要在构造函数中添加事件侦听器,并自己处理下拉列表的可见性状态。试着这样做:
类示例扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
可见:假
};
window.addEventListener(“滚动”,此.closeMenu);
}
切换菜单=()=>{
this.setState({visible:!this.state.visible});
};
关闭菜单=()=>{
this.setState({visible:false});
};
render(){
返回(
);
}
}
非常感谢您,它工作得很好!!在构造函数中添加事件侦听器改变了一切。我会记住的。非常感谢,我已经为此挣扎了一段时间了。