你好,我遇到一个问题,当选择menuItem时,我无法覆盖显示正确样式的类: 这是我的代码:
<MenuItem component={Link} to="/Acceuil"
className={{root:classes.menuItem ,selected:classes.selected}}
selected={pathname === "/Acceuil"} >
<ListItemIcon>
<Icon className={classes.icon} >
insert_drive_file
</Icon>
</ListItemIcon>
Gestion Commandes
</MenuItem>
这是const类:
Const classes = theme => ({
menuItem: {
fontStyle:'bold',
backgroundColor: 'white',
width: '88%',
'&:active':{
borderLeft: '4px solid #51bcda',
backgroundColor: "-webkit-box-shadow: 6px 4px 53px -7px
rgba(0,0,0,0.75), -moz-box-shadow: 6px 4px 53px -7px
rgba(0,0,0,0.75), box-shadow: 6px 4px 53px -7px
rgba(0,0,0,0.75),",
},
selected:{
backgroundColor:'red !important'
}
});
感谢您对我的帮助^^
答案 0 :(得分:0)
要了解如何使用适当的样式来设置样式,您需要查看ListItem
source code(MenuItem
会将其大部分样式委托给ListItem
)。
以下是ListItem
状态的selected
样式的相关部分:
export const styles = theme => ({
root: {
'&$selected, &$selected:hover, &$selected:focus': {
backgroundColor: theme.palette.action.selected,
},
},
/* Styles applied to the root element if `selected={true}`. */
selected: {},
});
下面,我提供了一个示例,该示例覆盖了所选MenuItem的样式以及基于CodeSandbox的有效Selected menus demo。
const styles = theme => ({
menuItemRoot: {
"&$menuItemSelected, &$menuItemSelected:focus, &$menuItemSelected:hover": {
backgroundColor: "red"
}
},
menuItemSelected: {}
});
...
<MenuItem
classes={{
root: classes.menuItemRoot,
selected: classes.menuItemSelected
}}
...
以下是针对不同的Material-UI组件的类似问题/答案:Styling BottomNavigation in React.js Material-UI