[英]How to make one button in the menu dropdown?
I have a header which is made with MaterialUi.我有一个用 MaterialUi 制作的标头。 There are 4 menu items.有 4 个菜单项。 I need to make it so that there is a down arrow near the third item and when clicked, a submenu with new items drops out.我需要这样做,以便在第三项附近有一个向下箭头,单击时,会弹出一个包含新项目的子菜单。 How can i do this?我怎样才能做到这一点?
const pages = ["Item1", "Item2", "Item3", "Item4"]; <Box sx={{ flexGrow: 1, display: { xs: "none", md: "flex" } }}> {pages.map((page) => ( <Button key={page} onClick={handleCloseNavMenu} sx={{ my: 2, color: "white", display: "block" }} > {page} </Button> ))} </Box>
Easily use Menu component:轻松使用Menu组件:
const pages = ["Item1", "Item2", "Item3", "Item4"];
function Test() {
const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);
const isMenuOpen = Boolean(anchorEl);
const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {
const name = event.currentTarget.name;
switch (name) {
case "Item1":
//redirect to page 1
break;
case "Item2":
//redirect to page 2
break;
case "Item3":
setAnchorEl(event.currentTarget);
break;
case "Item4":
//redirect to page 4
break;
}
};
const handleCloseMenu = () => {
setAnchorEl(null);
};
return (
<Box sx={{ flexGrow: 1, display: { xs: "none", md: "flex" } }}>
{pages.map((page) => (
<>
<Button
key={page}
name={page}
onClick={handleClick}
sx={{ my: 2, color: "white", display: "block" }}
>
{page}
</Button>
</>
))}
<Menu anchorEl={anchorEl} open={isMenuOpen} onClose={handleCloseMenu}>
<MenuItem onClick={handleCloseMenu}>Profile</MenuItem>
<MenuItem onClick={handleCloseMenu}>My account</MenuItem>
<MenuItem onClick={handleCloseMenu}>Logout</MenuItem>
</Menu>
</Box>
);
}
export default Test;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.