设置 MUI ToggleButton 的选定背景颜色

Neh*_*ary 9 javascript reactjs material-ui

选择切换按钮时,我无法设置背景颜色。现在,这些按钮可以工作,但在选择一个按钮时没有任何特定的颜色。我希望 Btn 1 有一个默认颜色,如果用户选择任何其他按钮,该按钮应该获得默认颜色。

<Grid container direction='column'>
        <ToggleButtonGroup
          value={title}
          exclusive
          size='small'
        >
          <ToggleButton onClick={this.handleOnClick}>
            Btn 1
          </ToggleButton>
          <ToggleButton onClick={this.handleOnClick}>
            Btn 2
          </ToggleButton>
          <ToggleButton onClick={this.handleOnClick}>
            Btn 3
          </ToggleButton>
      </ToggleButtonGroup>

      </Grid>
Run Code Online (Sandbox Code Playgroud)

Nea*_*arl 14

使用&.Mui-selected选择器更改所选内容的背景颜色ToggleButton您可以在此处查看状态类列表:

import MuiToggleButton from "@mui/material/ToggleButton";
import { styled } from "@mui/material/styles";

const ToggleButton = styled(MuiToggleButton)({
  "&.Mui-selected, &.Mui-selected:hover": {
    color: "white",
    backgroundColor: '#00ff00'
  }
});
Run Code Online (Sandbox Code Playgroud)

如果您想提供选定的颜色道具:

const ToggleButton = styled(MuiToggleButton)(({ selectedColor }) => ({
  "&.Mui-selected, &.Mui-selected:hover": {
    color: "white",
    backgroundColor: selectedColor
  }
}));
Run Code Online (Sandbox Code Playgroud)
<ToggleButton value="left" selectedColor="#00abc0">
  <FormatAlignLeftIcon />
</ToggleButton>
Run Code Online (Sandbox Code Playgroud)

Codesandbox 演示