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

MUI Switch组件选中状态下轨道颜色不生效问题求助

MUI Switch选中状态轨道颜色不生效的解决方案

问题出在选中状态的样式选择器写法错误,你用了后代选择器& .Mui-checked,但.Mui-checked是直接附加在Switch根元素上的类,应该使用组合选择器&.Mui-checked(去掉空格)才能正确命中选中状态的组件。

修正后的代码如下:

import Switch from '@mui/material/Switch';

<Switch
  sx={{
    // 未选中状态的滑块颜色
    ".MuiSwitch-thumb": {
      backgroundColor: "#FF9528"
    },
    // 未选中状态的轨道颜色
    ".MuiSwitch-track": {
      backgroundColor: "#FF4823"
    },
    // 选中状态(正确的选择器写法)
    "&.Mui-checked": {
      ".MuiSwitch-thumb": {
        backgroundColor: "#FF4823"
      },
      ".MuiSwitch-track": {
        backgroundColor: "#FF4823"
      }
    }
  }}
/>

如果需要更稳定的样式覆盖,也可以用MUI的styled API创建自定义Switch组件:

import { styled } from '@mui/material/styles';
import Switch from '@mui/material/Switch';

const CustomSwitch = styled(Switch)(({ theme }) => ({
  '& .MuiSwitch-thumb': {
    backgroundColor: '#FF9528',
  },
  '& .MuiSwitch-track': {
    backgroundColor: '#FF4823',
  },
  '&.Mui-checked .MuiSwitch-thumb': {
    backgroundColor: '#FF4823',
  },
  '&.Mui-checked .MuiSwitch-track': {
    backgroundColor: '#FF4823',
  },
}));

// 使用自定义组件
<CustomSwitch />

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 10:13:26