Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在鼠标悬停在按钮上时打开材质ui菜单_Javascript_Reactjs_Material Ui - Fatal编程技术网

Javascript 如何在鼠标悬停在按钮上时打开材质ui菜单

Javascript 如何在鼠标悬停在按钮上时打开材质ui菜单,javascript,reactjs,material-ui,Javascript,Reactjs,Material Ui,我试着做如下所示,但未能实现。使用简单的CSS,它可以工作,但我需要使用makeStylesprovidedbymaterialui 每当用户悬停在按钮上而不必单击按钮时,我想显示项目的下拉列表 const makeStyles= (theme) => ({ button: { backgroundColor: "#4CAF50", color: "white", padding: "16px", fontSize: "16px", borde

我试着做如下所示,但未能实现。使用简单的CSS,它可以工作,但我需要使用
makeStyles
providedbymaterialui

每当用户悬停在按钮上而不必单击按钮时,我想显示项目的下拉列表

const makeStyles= (theme) => ({
   button: {
    backgroundColor: "#4CAF50",
    color: "white",
    padding: "16px",
    fontSize: "16px",
    border: "none",
    "&:hover": {
      dropdown: {
        display: "block"
      }
    }
  },
  dropdown: {
    display: "none",
    position: "absolute",
    backgroundColor: "#f1f1f1",
    minWidth: "160px",
    boxShadow: `0px 8px 16px 0px rgba(0,0,0,0.2)`,
    zIndex: 1
  }
})

export default function DropDown() {
  const classes = useStyles();
  return (
<>
  <Button
   className={classes.button}
  >
    {title}
  </Button>
  <Menu className={classes.dropdown}>
    <Item/>
    <Item/>
    <Item/>
  </Menu>
</>
)}
constmakestyles=(主题)=>({
按钮:{
背景颜色:“4CAF50”,
颜色:“白色”,
填充:“16px”,
字体大小:“16px”,
边界:“无”,
“&:悬停”:{
下拉列表:{
显示:“块”
}
}
},
下拉列表:{
显示:“无”,
位置:“绝对”,
背景颜色:“f1f1”,
最小宽度:“160px”,
框影:`0px 8px 16px 0px rgba(0,0,0,0.2)`,
zIndex:1
}
})
导出默认函数下拉列表(){
const classes=useStyles();
返回(
{title}
)}

为菜单按钮添加一个onMouseOver处理程序即可

export default function DropDown() {
  const classes = useStyles();
  const [anchorEl, setAnchorEl] = React.useState(null);
  const handleMouseOver= (event) => {
    setAnchorEl(event.currentTarget);
  };
  const handleClose = () => {
    setAnchorEl(null);
  };
  return (
    <>
      <Button
        className={classes.button}
        onMouseOver={handleMouseOver}
      >
        {title}
      </Button>
      <Menu 
        className={classes.dropdown}
        anchorEl={anchorEl}
        keepMounted
        open={Boolean(anchorEl)}
        onClose={handleClose}
      >
        <MenuItem onClick={handleClose}>Profile</MenuItem>
        <MenuItem onClick={handleClose}>My account</MenuItem>
        <MenuItem onClick={handleClose}>Logout</MenuItem>
      </Menu>
    </>
  );
}
导出默认函数下拉列表(){
const classes=useStyles();
常量[anchorEl,setAnchorEl]=React.useState(null);
const handleMouseOver=(事件)=>{
Setancorel(事件当前目标);
};
常量handleClose=()=>{
setAnchorEl(空);
};
返回(
{title}
轮廓
我的帐户
注销
);
}

那篇文章解决了你的问题吗?请提供一些反馈,我们将不胜感激。