Итак, я сделал выпадающий компонент с компонентом Menu UI материала, но по умолчанию компонент меню открывается справа. Мне нужно, чтобы он действительно открывался влево.
Я пробовал стилизовать его, и в итоге я могу заставить его двигаться с полями, но я ищу что-то более надежное. Честно говоря, я удивлен, что для этого нет поддержки.
в настоящее время мое раскрывающееся меню открывается так - не очень хорошо
Я хочу, чтобы это началось там, просто откройте другое направление. Любая помощь приветствуется!
Мой код ниже: Компонент
function DropDown({
dropDownMeta,
style = { container: {}, icon: {} },
icon = <MenuIcon style={{ ...style.icon }} />
}: DropDownProps): ReactElement {
const [menuAnchor, setMenuAnchor] = useState<null | HTMLElement>(null)
const handleMenuClick = (event: React.MouseEvent<HTMLButtonElement>) => {
setMenuAnchor(event.currentTarget)
}
const handleMenuClose = () => {
setMenuAnchor(null)
}
const classes = useStyles()
return (
<Box style={{ ...style.container }}>
<StyledIconButton
style={{ ...style.buttonContainer }}
onClick={handleMenuClick}
>
{icon}
</StyledIconButton>
<Menu
anchorEl={menuAnchor}
keepMounted
open={Boolean(menuAnchor)}
onClose={handleMenuClose}
className={classes.root}
style={menuStyles as CSSProperties}
// getContentAnchorEl={null}
anchorOrigin={{
vertical: "top",
horizontal: "left",
}}
>
{dropDownMeta.map((item, i) => {
const { label, callback, bottomDivider } = item
return (
<Box key={`Item${i}`} onClick={handleMenuClose}>
<StyledMenuItem onClick={callback}>{label}</StyledMenuItem>
{bottomDivider && <Divider />}
</Box>
)
})}
</Menu>
</Box>
)
}
export default DropDown
стили
dropDown: {
menu: {
position: "absolute",
top: 35
},
menuItem: {
fontSize: 12,
padding: 5,
minWidth: 250
},
menuIconBtn: {
fontSize: 31,
position: "relative",
top: 1,
padding: 0
}
},