【问题标题】:Disabling Material UI default styles禁用 Material UI 默认样式
【发布时间】:2019-04-23 15:40:47
【问题描述】:

我正在使用 TextField 表单 material-ui。在页面上,它会生成具有Mui-root 样式的input 元素,例如border 或border-radius。

是否可以禁用 material-ui 默认样式?

【问题讨论】:

    标签: css reactjs material-ui


    【解决方案1】:

    创建您自己的覆盖样式的包装器组件。

    例如,以下将覆盖 FormControl 上的根样式:

    const useStyles = makeStyles({
      root: {}
    });
    
    export default () => {
      const classes = useStyles();
      return <TextField classes={classes} />
    }
    

    请注意,它会覆盖 FormControl 上的类,因为 TextField 会将任何无法识别的道具传递给 FormControl

    您可以在文档中找到所有可以覆盖的类,这里:https://material-ui.com/api/form-control/#css

    此外,TextField 实际上是由多个组件组成的。看看这里的道具:https://material-ui.com/api/text-field/#props

    因此,如果您想修改 Input 组件上的类,您可以将样式传递给 InputProps={{ classes: youClasses }},例如。

    【讨论】:

    • 可以自定义fieldset吗?
    • 你能分享你的代码吗? &lt;TextField /&gt; 不包含字段集,所以你传递的东西一定是创建它。
    • 检查这里:codesandbox.io/s/r1o7l3lyxp 我正在使用 v4 的 material-ui,因为类已经改变。值得注意的是在 Input 上添加了 notchedOutline 类,这在 3.9.3 中没有。 4.0 的文档:next.material-ui.com/api/text-field
    • @Cereal - 谢谢,你把我推向了正确的方向
    • @ichimaru 使用 className 属性
    猜你喜欢
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    • 2021-01-23
    • 2020-02-20
    • 2018-05-04
    • 2018-11-12
    • 2021-07-06
    • 1970-01-01
    相关资源
    最近更新 更多