【发布时间】:2021-05-16 08:13:14
【问题描述】:
我有一个带有多个 Material-UI 选择的 React 组件。现在我想覆盖 其中一个 的一些样式,所以我创建了一个主题,现在想通过 ThemeProvider 应用它。 我的问题是 ThemeProvider 会覆盖每个 Select 的样式,而不仅仅是它所包裹的样式。
在谷歌搜索时,我发现了很多问题,如何让 ThemeProvider 在全球范围内应用其覆盖,但这与我想要做的相反。 我希望 ThemeProvider 仅将其覆盖应用到它所环绕的组件。 在我的用例中使用 ThemeProvider 是否有更好的选择?如果是,它必须与基于类的组件一起使用(因为我在这里使用了一个)
显示我的问题的代码框:https://codesandbox.io/s/twilight-sun-vyl9i
我对 Material-UI 还很陌生,如果我做错了什么,请原谅我。
【问题讨论】:
-
我认为在这种情况下,最好为
Select组件提供一个自定义的classes对象,其中包含您想要覆盖的所有样式。可以参考Button override classes example Material UI参考
标签: reactjs material-ui themeprovider