javascript - 如何在react中更改material-ui Textfield标签样式

标签 javascript html css reactjs material-ui

我是 Material-UI 的新手,我无法弄清楚如何更改以灰色显示的标签的颜色。我想要黑色。谁能帮我解决这个问题吗?

这是代码:

import React from "react";
import ReactDOM from "react-dom";
import { TextField, Button, Grid } from "@material-ui/core";

class App extends React.Component {
  render() {
    return (
      <Grid container justify={"center"} alignItems={"center"} spacing={1}>
        <Grid item>
          <TextField
            id="outlined-name"
            label="Name"
            value={"Enter value"}
            onChange={() => console.log("I was changed")}
            margin="normal"
            variant="outlined"
          />
        </Grid>
        <Grid item>
          <Button variant="contained" color="primary">
            Submit
          </Button>
        </Grid>
      </Grid>
    );
  }
}

代码如下:“https://codesandbox.io/s/fancy-morning-30owz

最佳答案

如果您使用浏览器中的选择工具,您会发现:

使用的类名是MuiFormLabel-root

<label class="MuiFormLabel-root MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-outlined MuiFormLabel-filled" data-shrink="true" for="outlined-name">Name</label>

因此使用 nesting selector 设置样式到 TextField 组件

功能组件

import { makeStyles } from "@material-ui/core/styles";
const useStyles = makeStyles(theme => ({
  root: {
    "& .MuiFormLabel-root": {
      color: "red" // or black
    }
  }
}));
...
const classes = useStyles();

经典组件

import { withStyles, createStyles } from "@material-ui/core/styles";
const styles = theme => createStyles({
  root: {
    "& .MuiFormLabel-root": {
      color: "red"
    }
  }
});
...
const { classes } = this.props;
...
export default withStyles(styles)(App);

使用

<TextField
  className={classes.root}
  ...
>
</TextField>

通过这种方式,你可以改变标签颜色,如下截图(目前为红色)

<小时/>

enter image description here

<小时/>

在线尝试:

Edit staging-framework-3h4m8

关于javascript - 如何在react中更改material-ui Textfield标签样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60736015/

相关文章:

css - Bootstrap 导航修改

html - 如何用 nth-child 定位第一个元素以外的所有元素?

javascript - 如何让 div 自动调整它的高度,但保持图标中的图像居中对齐

javascript - Meteor - 加载/刷新页面时出错 : Exception from Tracker afterFlush function: undefined

html - canvas isPointInPath 不适用于 ctx.drawImage()

html - 将鼠标悬停在一个 div 上使另一个消失

jquery - CSS定位元素

jqueryUI自定义按钮不显示

javascript - 我需要 'document.ready()' 这段 Javascript 吗?

javascript - 两个 javascript 函数行为背后的逻辑