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并在自定义中添加主题对象。我们对您的实现一无所知,因为您没有共享代码,所以这是无中生有的。