首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何更改禁用的MUI TextField文本颜色?

如何更改禁用的MUI TextField文本颜色?
EN

Stack Overflow用户
提问于 2022-11-11 13:54:32
回答 1查看 15关注 0票数 1

在禁用的TextField中,我将使用黑色的文本颜色,而不是默认的灰色,基于以下内容:https://stackoverflow.com/a/70943025/239219

代码语言:javascript
运行
复制
<TextField
id="outlined-basic"
value={'https://git.responsive.software/my-app.git'}
fullWidth
size="small"
disabled
variant="filled"
inputProps={{ style: { color: 'black' } }}
/>

但是,当它被选中时,它会给文本颜色。我需要黑色也为未选定的文本。

这也是有趣的,为什么我的尝试不起作用。我猜MUI在他们的自定义解决方案后面使用了一个textfield。那么,为什么传递的color属性不像普通css中那样改变属性呢?

EN

回答 1

Stack Overflow用户

发布于 2022-11-11 20:08:54

如果是disabled=true,您可以特别添加一个样式。如下所示:

代码语言:javascript
运行
复制
// STYLES
export const StyledTextField = styled(TextField, {
  shouldForwardProp: (props) => props !== 'disabled', 
})<{ disabled: boolean }>(({ disabled }) => ({
  color: disabled : 'black' ? 'pink',
}));

// IN THE COMPONENT
<StyledTextField
id="outlined-basic"
value={'https://git.responsive.software/my-app.git'}
fullWidth
size="small"
disabled
variant="filled"
inputProps={{ style: { color: 'black' } }}
/>

(shouldForwardProp确保禁用的道具不会添加到DOM中)

或者..。

TextField没有特定的禁用类,但是如果您可以将代码改为使用InputBase,则可以使用禁用的类。当组件中的disabled=true应用时,将应用此CSS。https://mui.com/material-ui/api/input-base/#css

代码语言:javascript
运行
复制
import { inputBaseClasses } from '@mui/material';

...

[`&.${inputBaseClasses.disabled}`]: {
   color: 'black',
},
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74403523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档