You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React.js中如何修改Material UI的Checkbox图标样式

MUI Checkbox 未选中状态图标颜色修改方案

你只需要在现有MUI主题的Checkbox样式覆盖配置中,新增未选中状态的图标颜色规则即可,无需修改全局主题主色。

你之前的配置仅覆盖了选中状态的图标颜色,未选中状态默认继承全局palette主色,所以才会显示为深色主题下的黑色。修改后的完整MuiCheckbox配置如下:

MuiCheckbox: {
  styleOverrides: {
    root: {
      transition: "all .2s ease",

      // 原有选中状态颜色规则保留
      "&.Mui-checked": {
        ".MuiSvgIcon-root": {
          color: colors.darkTheme.primary.bright,
        },
      },
      // 新增未选中状态的图标颜色规则
      "&:not(.Mui-checked)": {
        ".MuiSvgIcon-root": {
          color: colors.darkTheme.secondary.main, // 你配置中secondary.main已定义为#fff白色,可直接使用
        },
      },

      ".MuiSvgIcon-root": {
        fontSize: "2.2rem",
      },

      ".MuiTouchRipple-root": {
        opacity: "0.3",
      },
    },
  },
},

上述新增的规则只会命中未勾选状态的Checkbox组件,仅修改该组件的图标颜色,不会影响全局其他组件的主题配色。

你提到的原效果图:
Checkbox未选中状态原效果图

如果仅需要修改个别Checkbox的颜色,不需要全局生效,也可以直接在组件上通过sx属性自定义:

<Checkbox 
  sx={{
    '&:not(.Mui-checked) .MuiSvgIcon-root': {
      color: '#fff'
    }
  }}
/>

内容的提问来源于stack exchange,提问作者rom3N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:15:01