我在深色背景上有一个Material UI Select
组件,所以对于这个组件,我想要更改它,以便文本和线条颜色都是白色的。其余Select
实例应保持不变。
虽然我可以让文字和图标改变颜色,但我似乎无法弄清楚如何使用classes
道具设置下划线颜色。我的尝试似乎也使打开的图标包裹到下一行。这是一个证明问题的例子:
我已经设定了这样的风格:
const styles = theme => ({
underline: {
borderBottom: '2px solid white',
'&:after': {
// The MUI source seems to use this but it doesn't work
borderBottom: '2px solid white',
},
}
};
然后我将它设置为:
<Select
classes={{
underline: classes.underline, // Does it go here?
}}
inputProps={{
classes: {
underline: classes.underline, // Or does it go here?
},
}}
>
此方法适用于文本(上面未显示,但在链接示例中),它只是我无法更改的下划线颜色。我错过了什么?
答案 0 :(得分:13)
您可以使用两个选项更改Select
组件的下划线颜色
<强> 1。覆盖类
使用<Input />
道具创建input
元素,并使用underline
键使用类重写。
<Select
value={this.state.age}
onChange={this.handleChange}
input={<Input classes={{
underline: classes.underline,
}}
name="age" id="age-helper" />}>
我在您的沙盒中应用了此功能,并查看此here
<强> 2。使用MuiThemeProvider
const theme = createMuiTheme({
palette: {
primary: green,
},
});
使用<MuiThemeProvider/>
我已在此沙箱中应用了两者
答案 1 :(得分:0)
如果目标只是为了强调下划线(以及文本),那么有一个非常简单的解决方案,它也可以与许多其他组件(comments: null
,<Input>
等)一起使用:< / p>
<TextField>
它将抓住下划线并将其变为白色。
有关更改的详细信息,以防您想覆盖其中的元素:https://material-ui.com/customization/palette/#dark-mode
(如果您以前从未使用过主题,则需要导入const theme = createMuiTheme({
palette: {
type: 'dark',
},
});
并将组件包装在其中;请参见https://material-ui.com/customization/theming/)