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

React MUI TextField聚焦时如何仅修改收缩标签文本颜色?

问题

我想要将“First Name”标签改为红色。

尝试了以下代码:

<TextField id="outlined-basic" label="First name" variant="outlined"
      sx={{
        '& .Mui-focused':{
          color:'red'
        }
      }}
      />

但现在不仅收缩的标签,其他元素也变成了红色,效果如下:
错误效果

请问如何仅修改收缩状态下的标签颜色?

解决方案

要仅修改收缩状态下的标签颜色,需要精准定位到标签收缩时的专属类.MuiInputLabel-shrink,调整sx配置即可:

方案1:所有收缩状态下的标签都变红

<TextField
  id="outlined-basic"
  label="First name"
  variant="outlined"
  sx={{
    '& .MuiInputLabel-shrink': {
      color: 'red',
    }
  }}
/>

方案2:仅聚焦时的收缩标签变红

如果只需要在输入框聚焦、标签处于收缩状态时才显示红色,可以结合聚焦类.Mui-focused来定位:

<TextField
  id="outlined-basic"
  label="First name"
  variant="outlined"
  sx={{
    '&.Mui-focused .MuiInputLabel-shrink': {
      color: 'red',
    }
  }}
/>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 16:34:33