Reactjs 将材质UI的文本字段从黑色更改为白色
您好,这看起来很简单,但我没有找到任何与此相关的内容。我只希望以下字段显示为白色:Reactjs 将材质UI的文本字段从黑色更改为白色,reactjs,material-ui,Reactjs,Material Ui,您好,这看起来很简单,但我没有找到任何与此相关的内容。我只希望以下字段显示为白色: 要指定默认标签和边框颜色。为了进一步澄清,我通过InputProps传递类,使输入文本本身变为白色。但我还是要坚持下去。请帮帮我。我认为@evayly是对的,你应该使用主题提供者(见上面他的评论)。如果你只是需要一个一次性的快速黑客,那么下面的CSS似乎就足够了。然而,我真的不推荐它的任何东西,是为了持久 .MuiOutlinedInput-notchedOutline { border-color:
要指定默认标签和边框颜色。为了进一步澄清,我通过InputProps传递类,使输入文本本身变为白色。但我还是要坚持下去。请帮帮我。我认为@evayly是对的,你应该使用主题提供者(见上面他的评论)。如果你只是需要一个一次性的快速黑客,那么下面的CSS似乎就足够了。然而,我真的不推荐它的任何东西,是为了持久
.MuiOutlinedInput-notchedOutline {
border-color: white;
}
.MuiFormLabel-root {
color: white;
}
.MuiInputBase-input {
color: white;
}
我认为@evayly是对的,你应该使用一个主题提供者(见上面他的评论)。如果你只是需要一个一次性的快速黑客,那么下面的CSS似乎就足够了。然而,我真的不推荐它的任何东西,是为了持久
.MuiOutlinedInput-notchedOutline {
border-color: white;
}
.MuiFormLabel-root {
color: white;
}
.MuiInputBase-input {
color: white;
}
再见,要使
边框变为白色,您必须:
定义一个主题
对象,您必须在其中定义一个主
颜色并覆盖muioOutlinedInput
,如下所示:
const Theme = {
palette: {
primary: {
contrastText: "#FFFFFF",
dark: "#FFFFFF",
main: "#FFFFFF",
light: "#FFFFFF"
}
},
overrides: {
MuiOutlinedInput: {
root: {
position: "relative",
"& $notchedOutline": {
borderColor: "#FFFFFF"
},
"&:hover:not($disabled):not($focused):not($error) $notchedOutline": {
borderColor: "#FFFFFF",
"@media (hover: none)": {
borderColor: "#FFFFFF"
}
},
"&$focused $notchedOutline": {
borderColor: "#FFFFFF",
borderWidth: 1
}
}
}
}
};
(我知道,这将覆盖您将在项目中使用的所有muioOutlinedInputs,但我发现只有这种方法)
要将此主题
传递到文本字段
,必须将其包装到主题提供程序
中,并创建mui主题:
import { ThemeProvider, createMuiTheme } from "@material-ui/core/styles";
...
const theme = createMuiTheme(Theme);
...
return (
<ThemeProvider theme={theme}>
<div class={classes.root}>
<TextField />
....
</ThemeProvider>
);
css将是:
const useStyles = makeStyles(() => ({
input: {
color: "white"
}
}));
代码沙盒示例。Ciao,要使边框变为白色,您必须:
定义一个主题
对象,您必须在其中定义一个主
颜色并覆盖muioOutlinedInput
,如下所示:
const Theme = {
palette: {
primary: {
contrastText: "#FFFFFF",
dark: "#FFFFFF",
main: "#FFFFFF",
light: "#FFFFFF"
}
},
overrides: {
MuiOutlinedInput: {
root: {
position: "relative",
"& $notchedOutline": {
borderColor: "#FFFFFF"
},
"&:hover:not($disabled):not($focused):not($error) $notchedOutline": {
borderColor: "#FFFFFF",
"@media (hover: none)": {
borderColor: "#FFFFFF"
}
},
"&$focused $notchedOutline": {
borderColor: "#FFFFFF",
borderWidth: 1
}
}
}
}
};
(我知道,这将覆盖您将在项目中使用的所有muioOutlinedInputs,但我发现只有这种方法)
要将此主题
传递到文本字段
,必须将其包装到主题提供程序
中,并创建mui主题:
import { ThemeProvider, createMuiTheme } from "@material-ui/core/styles";
...
const theme = createMuiTheme(Theme);
...
return (
<ThemeProvider theme={theme}>
<div class={classes.root}>
<TextField />
....
</ThemeProvider>
);
css将是:
const useStyles = makeStyles(() => ({
input: {
color: "white"
}
}));
代码沙盒示例。您可以将当前代码添加到问题中吗?您必须使用ThemeProvider并在自定义中添加主题对象。我们对你的实现一无所知,因为你没有共享你的代码,所以这纯属无中生有。你能将你当前的代码添加到问题中吗?你必须使用ThemeProvider并在自定义中添加主题对象。我们对您的实现一无所知,因为您没有共享代码,所以这是无中生有的。