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

如何访问Material UI <DatePicker/>中年份选择器的sx属性?

修改Material UI DatePicker年份选择器的选中样式

要修改年份选择器里选中年份的蓝色背景,你需要针对年份选择器对应的插槽或CSS类进行样式覆盖,以下是两种可行方案:

方案一:通过slotProps的yearPicker插槽配置

直接在slotProps中添加yearPicker字段,通过其sx属性精准控制选中年份的样式:

<DatePicker
  defaultValue={dayjs().subtract(1, "month")}
  label="Tarih Başlangıcı"
  onChange={(e: dayjs.Dayjs | null) =>
    setDateStart(e?.format("DD.MM.YYYY"))
  }
  slotProps={{           
    day: {
      sx: {
        "&.MuiPickersDay-dayWithMargin.Mui-selected": {
          bgcolor: "var(--c1)",
        },                
      },
    },
    // 添加年份选择器的slot配置
    yearPicker: {
      sx: {
        "& .MuiPickersYear-year.Mui-selected": {
          bgcolor: "var(--c1)", // 替换成你需要的颜色
          color: "#fff", // 可选:修改选中年份的文字颜色
          '&:hover': {
            bgcolor: "var(--c1-light)", // 可选:hover状态颜色
          }
        }
      }
    }
  }}
  sx={{
    ".MuiInputBase-root": {
      borderRadius: 25,
    },
    ".MuiButtonBase-root": {
      color: "var(--c1)",
    },
    ".Mui-focused": {
      ".MuiOutlinedInput-notchedOutline": { borderColor: "var(--c1)" },
      "&.MuiInputLabel-formControl": { color: "var(--c1)" },
    },
  }}
/>

方案二:直接在DatePicker的sx中全局覆盖年份选择器样式

如果不想单独配置插槽,也可以在DatePicker的sx属性里直接通过CSS选择器定位年份选择器的选中状态:

<DatePicker
  defaultValue={dayjs().subtract(1, "month")}
  label="Tarih Başlangıcı"
  onChange={(e: dayjs.Dayjs | null) =>
    setDateStart(e?.format("DD.MM.YYYY"))
  }
  slotProps={{           
    day: {
      sx: {
        "&.MuiPickersDay-dayWithMargin.Mui-selected": {
          bgcolor: "var(--c1)",
        },                
      },
    },
  }}
  sx={{
    ".MuiInputBase-root": {
      borderRadius: 25,
    },
    ".MuiButtonBase-root": {
      color: "var(--c1)",
    },
    ".Mui-focused": {
      ".MuiOutlinedInput-notchedOutline": { borderColor: "var(--c1)" },
      "&.MuiInputLabel-formControl": { color: "var(--c1)" },
    },
    // 添加年份选择器选中样式
    "& .MuiYearPicker-root .MuiPickersYear-year.Mui-selected": {
      bgcolor: "var(--c1)",
      color: "#fff"
    }
  }}
/>

说明

  • 选中年份对应的核心类是MuiPickersYear-year.Mui-selected,精准定位这个组合类就能覆盖默认的蓝色背景。
  • 两种方案都能实现需求,推荐第一种(slotProps),它更符合Material UI的组件插槽设计,样式隔离性更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 17:10:13