我刚开始尝试着使用 React。目前我正在使用 material-ui 和 react 来制作我的导航栏。当我悬停在菜单上时,下拉菜单会出现。但是为了关闭下拉菜单,我必须点击下拉菜单外部。我希望当鼠标移开下拉菜单或者移动到不同的菜单选项时(此时应该显示不同的下拉菜单),可以关闭下拉菜单。就像这个网站一样:https://www.palantir.com/
我找过但没找到解决方案。最接近的是这个链接:Material-ui: open menu by event hover
我尝试使用相同的技术将其添加到我的代码中,但没有效果。有什么建议吗?谢谢!
编辑:我在这里重现了我的问题:https://react-xmaiyw.stackblitz.io 当点击“Why us”时可以看到问题。
编辑:我在这里重现了我的问题:https://react-xmaiyw.stackblitz.io 当点击“Why us”时可以看到问题。
handleClick = (event) => {
event.preventDefault();
this.setState({
open: true,
anchorEl: event.currentTarget,
});
};
handleRequestClose = () => {
this.setState({
open: false,
});
};
render() {
return (
<FlatButton
onClick={this.handleClick}
onMouseOver={this.handleClick}
onMouseLeave={this.handleRequestClose} //When I add this line of
//code, it keeps flickering very fast almost as if drop-down
//doesn't open
label="Why Us?"
/>
)}
hover
来实现这个效果,而不需要使用javascript。W3Schools有一个关于如何在下拉菜单中实现这一点的优秀教程在这里。如果这不是你想要的效果,请包含你的标记,以便我们更全面地了解你的需求。 - user9150676