我正在尝试将material-ui集成到我的项目中,但是自定义主题设置存在一些问题
我以此方式创建了一个自定义主题
App.js
const theme = createMuiTheme({
palette: {
primary: green,
secondary: red,
},
});
class App extends Component {
render() {
return (
<MuiThemeProvider theme={theme}>
<BrowserRouter>
<Switch>
...}}
然后在子结构的组件中创建一些特定的CSS。
现在,我的问题是我必须使用背景色定义样式 appBar ,并将其显式地应用于AppBar组件。如果我不执行这两个操作之一,则appBar的bg保持浅灰色
奇怪的是,我从theme.palette.primary [“ 500”]中获得了正确的绿色,这意味着主题已正确配置
Header.js
const styles = theme => ({
root: {
flexGrow: 1,
},
grow: {
flexGrow: 1,
},
appBar: {
backgroundColor: theme.palette.primary["500"]
},//...)}
class Header extends Component {
constructor(props) {
super(props)
this.classes = props.classes
}
render() {
return (<I18n>
{(tsl, {i18n, t, ready}) => {
return (
<div className={this.classes.root}>
<AppBar position="static" color="default" className={this.classes.appBar}>
<Toolbar>...(irrelevant code)
我遵循了https://material-ui.com/demos/app-bar/中的示例,其中第一个示例为浅灰色,然后所有其他示例为蓝色bg,但是源代码中没有添加任何可应用蓝色的内容(在我的看法)
请帮忙吗?谢谢大家
答案 0 :(得分:0)
使用<AppBar position="static" color="primary">
。
默认情况下,AppBar
使用的是grey
调色板中的颜色。
我们正在考虑将primary
道具的默认值设置为color
,因为它没有遵循规范,而对于像应用栏一样突出的东西使用灰色作为默认值是个坏主意。