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

如何修改Material UI中Select组件的Paper样式?

针对Select组件内Paper的样式修改方案

你提供的嵌套写法不可行,MUI主题配置不支持在MuiSelect下嵌套MuiPaper来做样式覆盖——主题的components配置中,各组件的样式规则是平级关系,不能通过组件嵌套来限定样式范围。

下面是两种可行的解决方案:

方案一:在主题中通过CSS选择器精准定位Select关联的Paper

利用MUI组件的类名层级,在全局MuiPaper的样式覆盖中,通过特定选择器只作用于Select的下拉菜单Paper:

const theme = createTheme({
  components: {
    MuiPaper: {
      styleOverrides: {
        root: {
          // 仅针对Select的下拉菜单Paper生效
          '&.MuiMenu-paper': {
            border: '1px solid red',
          },
        },
      },
    },
  },
});

注:Select的下拉菜单底层依赖Menu组件,其对应的Paper会带有MuiMenu-paper类名,通过这个类名可以精准筛选目标元素。

方案二:在Select组件实例中通过props直接定制

使用Select的MenuProps传递PaperProps,直接给当前Select的下拉Paper设置样式:

<Select
  label="示例选择器"
  value={selectedValue}
  onChange={handleChange}
  MenuProps={{
    PaperProps: {
      sx: {
        border: '1px solid red',
      },
    },
  }}
>
  <MenuItem value={10}>选项1</MenuItem>
  <MenuItem value={20}>选项2</MenuItem>
</Select>

这种方式更灵活,适合仅需修改单个/部分Select组件的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 08:31:13