【发布时间】:2018-09-26 04:14:30
【问题描述】:
我有一些组件使用MuiThemeProvider 来自定义按钮。原因可能是因为您只能拥有"primary" 或"secondary" 而不是自定义调色板名称。它们看起来像这样:
import React from "react";
import { badTheme } from "./Themes";
import {
Button,
MuiThemeProvider,
} from "@material-ui/core";
class Widget extends React.Component {
render() {
return (
<MuiThemeProvider theme={badTheme}>
<Button color="primary">Click me</Button>
</MuiThemeProvider>
);
}
}
export default Widget;
这里的badTheme 只是应用主题,在primary 调色板中覆盖了main。
const badTheme= createMuiTheme({
...defaultTheme,
palette: {
...defaultTheme.palette,
primary: {
main: "#2B368B",
},
},
});
摆脱这些只改变一个按钮的小主题会很好,所以我想知道切换到withStyles时我需要实现的所有样式。
我不想丢失波纹样式或我不知道的任何其他样式,这些样式是通过在调色板中设置 main 产生的。
如何将MuiThemeProvider 替换为withStyles 或其他任何内容,并在此按钮上具有根据main 调色板设置播种的完全相同的样式?
【问题讨论】:
-
只是一个建议......您可以将此问题的标题更改为“如何使用 withStyles 定义自定义按钮颜色”或类似的内容。
标签: reactjs material-ui