如何在材料ui REACTjs中覆盖menuItem中的选定类?

问题描述 投票:1回答:1

你好我有问题当我选择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' 
       } 
       });

谢谢你帮助我^^

css reactjs material-ui menuitem styling
1个回答
0
投票

要了解如何使用适当的特异性来设计这个样式,您需要查看ListItem source codeMenuItem将其大部分样式委托给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
              }}
...

Edit Menu selected styling

以下是针对不同Material-UI组件的类似问题/答案:Styling BottomNavigation in React.js Material-UI

© www.soinside.com 2019 - 2024. All rights reserved.