#reactjs #material-ui #uibutton #uimenu
Вопрос:
Я хочу использовать меню из пользовательского интерфейса material, которое изначально является кнопкой, которая раскрывается в меню onClick. Я хочу расположить его справа от экрана, но он не реагирует ни на одну из моих идей. Как переместить эту кнопку ?
Это по этой ссылке, и я хочу использовать CustomizedMenu : https://material-ui.com/api/menu/
И вот как выглядит код, он не реагирует на позицию:абсолютную и маржинальную. :
import React from "react";
import { withStyles } from "@material-ui/core/styles";
import Button from "@material-ui/core/Button";
import Menu, { MenuProps } from "@material-ui/core/Menu";
import MenuItem from "@material-ui/core/MenuItem";
import ListItemIcon from "@material-ui/core/ListItemIcon";
import ListItemText from "@material-ui/core/ListItemText";
import InboxIcon from "@material-ui/icons/MoveToInbox";
import DraftsIcon from "@material-ui/icons/Drafts";
import SendIcon from "@material-ui/icons/Send";
const StyledMenu = withStyles({
paper: {
border: "1px solid #d3d4d5",
},
})((props: MenuProps) => (
<Menu
elevation={0}
getContentAnchorEl={null}
anchorOrigin={{
vertical: "bottom",
horizontal: "center",
}}
transformOrigin={{
vertical: "top",
horizontal: "center",
}}
{...props}
/>
));
const StyledMenuItem = withStyles((theme) => ({
root: {
"amp;:focus": {
backgroundColor: theme.palette.primary.main,
"amp; .MuiListItemIcon-root, amp; .MuiListItemText-primary": {
color: theme.palette.common.white,
},
},
},
}))(MenuItem);
export default function CustomizedMenus() {
const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);
const handleClick = (event: React.MouseEvent<HTMLElement>) => {
setAnchorEl(event.currentTarget);
};
const handleClose = () => {
setAnchorEl(null);
};
return (
<div>
<Button
aria-controls="customized-menu"
aria-haspopup="true"
variant="contained"
color="primary"
onClick={handleClick}
style={{
background: "#FFFFFF",
border: "1px solid #787878",
color: "#000000",
position: "absolute",
marginRight: "18px",
width: "147px",
height: "40px",
}}
>
Open Menu
</Button>
<StyledMenu
id="customized-menu"
anchorEl={anchorEl}
keepMounted
open={Boolean(anchorEl)}
onClose={handleClose}
>
<StyledMenuItem>
<ListItemIcon>
<SendIcon fontSize="small" />
</ListItemIcon>
<ListItemText primary="Sent mail" />
</StyledMenuItem>
<StyledMenuItem>
<ListItemIcon>
<DraftsIcon fontSize="small" />
</ListItemIcon>
<ListItemText primary="Drafts" />
</StyledMenuItem>
<StyledMenuItem>
<ListItemIcon>
<InboxIcon fontSize="small" />
</ListItemIcon>
<ListItemText primary="Inbox" />
</StyledMenuItem>
</StyledMenu>
</div>
);
}