首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >材质UI切换按钮-选择后无法更改背景颜色

材质UI切换按钮-选择后无法更改背景颜色
EN

Stack Overflow用户
提问于 2020-09-20 07:09:45
回答 3查看 1.9K关注 0票数 5

我尝试使用Material UI切换按钮,有点像一个单选按钮,让用户对给定的问题有两个选择。

它的功能与预期基本一致,但当尝试调整每个切换按钮被选中时的样式时,我无法更改toggle button的背景颜色。我在ToggleButton组件上使用了类属性,并在该属性中使用了"selected“规则。某些css属性(例如padding和boxShadow)可以工作,但其他属性(包括backgroundColor)不能工作。我的目标是让切换按钮在被选中时具有蓝色背景,但到目前为止,我还不能让它在被选中时以不同于较暗的灰色背景的方式显示。

我使用React,以及Formik和Formik-Material-UI。下面是我的代码:

代码语言:javascript
运行
复制
const useStyles = makeStyles((theme) => ({
  toggleButton: {
    backgroundColor: 'blue',
    border: [10, 'solid', 'black'],
    padding: 10,
    boxShadow: [
      [0, 0, 0, 1, 'blue'],
    ],

  }
}));

export function ScheduleAndServices(props) {
  const classes = useStyles(props);

return (

            <Field 
              component={ToggleButtonGroup} 
              name="requestType" 
              type="checkbox" 
              exclusive
            >
              <ToggleButton 
                value="ps" 
                aria-label="Temporary/Occasional" 
                selected={values.requestType === "ps" ? true : false}
                classes={{selected: classes.toggleButton}}
              >Temporary/Occasional   
              </ToggleButton>
              
              <ToggleButton 
                value="reg" 
                aria-label="Regular"
                selected={values.requestType === "reg" ? true : false}
              >Regular
              </ToggleButton>
            </Field>
);
}
EN

回答 3

Stack Overflow用户

发布于 2021-06-17 16:28:14

在您的全局css或scss文件中尝试:

代码语言:javascript
运行
复制
button.MuiToggleButton-root.Mui-selected {
  background-color: #1f792f !important;
  border-color: #000 !important;
}

票数 0
EN

Stack Overflow用户

发布于 2021-07-30 20:31:59

创建新类并不要忘记使用!重要的是覆盖"Mui-selected“类的backgroundColor

代码语言:javascript
运行
复制
classes= useStyle({
newClass { backgroundColor:'red!important'},
})

<ToggleButton 
classes={{ 
selected:clasess.newClass,
.
.
.
}}
value=''
/>
票数 0
EN

Stack Overflow用户

发布于 2021-08-24 17:09:06

代码语言:javascript
运行
复制
  const useStyles = makeStyles(theme => ({
    ToggleButton : {
        '&.MuiToggleButton-root.Mui-selected': {
            backgroundColor: theme.palette.common.white,
        }
    }
}));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63974150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档