【发布时间】:2019-03-23 21:16:11
【问题描述】:
我正在使用 Material-UI 菜单。 它应该按原样工作,但只是使用鼠标悬停,而不是单击。 这是我的代码链接:https://codesandbox.io/embed/vn3p5j40m0
以下是我尝试过的代码。它可以正确打开,但在鼠标移开时不会关闭。
import React from "react";
import Button from "@material-ui/core/Button";
import Menu from "@material-ui/core/Menu";
import MenuItem from "@material-ui/core/MenuItem";
function SimpleMenu() {
const [anchorEl, setAnchorEl] = React.useState(null);
function handleClick(event) {
setAnchorEl(event.currentTarget);
}
function handleClose() {
setAnchorEl(null);
}
return (
<div>
<Button
aria-owns={anchorEl ? "simple-menu" : undefined}
aria-haspopup="true"
onClick={handleClick}
onMouseEnter={handleClick}
>
Open Menu
</Button>
<Menu
id="simple-menu"
anchorEl={anchorEl}
open={Boolean(anchorEl)}
onClose={handleClose}
onMouseLeave={handleClose}
>
<MenuItem onClick={handleClose}>Profile</MenuItem>
<MenuItem onClick={handleClose}>My account</MenuItem>
<MenuItem onClick={handleClose}>Logout</MenuItem>
</Menu>
</div>
);
}
export default SimpleMenu;
【问题讨论】:
-
菜单根据传递给它的
open属性打开。您可以以任何您想要的方式触发它。如果您无法通过悬停使其工作,请分享您尝试但不起作用的代码。 -
您好,感谢您的回复。我已将链接添加到我的代码中。将等待您的反馈。
-
它似乎有效。有什么问题?
-
我希望当鼠标光标悬停在菜单外时菜单消失,而不是点击背景。
标签: reactjs material-ui