在MaterialUI

时间:2019-10-04 08:32:35

标签: reactjs material-ui

我正在尝试将边框颜色从默认的紫色更改为白色。

这是我到目前为止所拥有的:

    const useStyles = makeStyles(theme => ({
        darkModeColorInput: {
            color: WHITE
        },
        darkModeColorLabel: {
            color: WHITE,
            "&:after": {
                borderColor: WHITE
            }
        }
    }));

    <TextField
    margin="normal"
    inputProps={{
        className: classes.darkModeColorInput
    }}
    InputLabelProps={{
        className: classes.darkModeColorLabel
    }}
    required
    fullWidth
    id="email"
    label="handle or email"
    name="email"
    autoComplete="email"
    autoFocus
    color={WHITE}
    />

这将呈现:

img

标签也将焦点从白色切换为默认的紫色。我在这里做什么错了?

1 个答案:

答案 0 :(得分:4)

最简单的方法是通过ThemeProvider使用深色主题:

import { ThemeProvider } from '@material-ui/styles';
import { createMuiTheme } from '@material-ui/core/styles';

const darkTheme = createMuiTheme({
  palette: {
    type: 'dark',
  },
});

<ThemeProvider theme={darkTheme}>
   <Component />
</ThemeProvider>

然后,您将获得所有Material UI组件的主题,这些主题将在深色背景上正确显示。

如果您仍然想完全控制外观(并且不想使用主题),则需要在InputLabelProps上为InputPropsTextInput设置自定义样式( https://material-ui.com/api/text-field/