代码之家  ›  专栏  ›  技术社区  ›  Malvineous

如何更改材料界面输入下划线的颜色?

  •  6
  • Malvineous  · 技术社区  · 6 年前

    我有一个重要的用户界面 Select 组件,它位于深色背景上,因此仅此一个组件,我想更改它,使文本和线条颜色全部为白色。剩下的 选择 实例应保持不变。

    虽然我可以让文字和图标改变颜色,但我似乎不知道如何使用 classes prop设置下划线颜色。我的尝试似乎也使打开的图标包装到下一行。下面是一个演示问题的示例:

    Edit Material demo

    我的风格是这样的:

    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?
        },
      }}
    >
    

    这种方法确实适用于文本(上面没有显示,但在链接的示例中),它只是下划线颜色,我无法更改。我错过了什么?

    1 回复  |  直到 6 年前
        1
  •  15
  •   thirtydot    6 年前

    您可以更改的下划线颜色 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/>

    我在这个沙箱里都用过了

    Customising Select