在MaterialUI中覆盖TextField颜色

问题描述 投票:0回答:1

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

这是我到目前为止的内容:

    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

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

reactjs material-ui
1个回答
0
投票

最简单的方法是通过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组件的主题,这些主题将在深色背景上正确显示。

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

© www.soinside.com 2019 - 2024. All rights reserved.