material-ui textField颜色

时间:2019-07-04 20:53:27

标签: material-ui

我正在使用MUI 4.1.2 下划线的textField颜色处于非活动状态和悬停状态时如何控制? 我已经更改了调色板-文本-主菜单,它在悬停时控制着下划线,但是我想更具体地做到这一点。

我已经尝试了其他方法,这些方法都无法使用overrides / MuiInput / underline / backgroundColor等。

palette: {
  overrides {
    MuiInput: {
      underline: {
        '&:hover:before': {
          backgroundColor: "#fff"
      }
    }
  }
}

1 个答案:

答案 0 :(得分:1)

您可以通过将类传递给Input组件(是TextField的子组件)来覆盖下划线样式。有点hacky,但是很好,它可以工作。

import React from "react";
import ReactDOM from "react-dom";
import TextField from "@material-ui/core/TextField";
import { makeStyles } from "@material-ui/styles";

const useStyles = makeStyles({
  underline: {
    // normal style
    "&::before": {
      borderBottom: "4px solid green"
    },
    // hover style
    "&:hover:not(.Mui-disabled):before": {
      borderBottom: "4px solid blue"
    },
    // focus style
    "&::after": {
      borderBottom: "4px solid red"
    }
  }
});

function App() {
  const classes = useStyles();
  return (
    <TextField InputProps={{ className: classes.underline }} label="example" />
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

这是现场示例:

Edit upbeat-smoke-nqxws