我在Material UI主题中直接更改按钮文本颜色时遇到问题。更改主颜色+按钮字体大小工作正常,所以问题不在于传递主题。下面是我的代码:
import React from 'react';
import { MuiThemeProvider, createMuiTheme } from 'material-ui/styles';
import { lightBlue } from 'material-ui/colors';
import styled from 'styled-components';
const theme = createMuiTheme({
palette: {
primary: lightBlue, // works
},
raisedButton: {
color: '#ffffff', // doesn't work
},
typography: {
button: {
fontSize: 20, // works
color: '#ffffff' // doesn't work
}
}
});
const App = ({ user, pathname, onToggleDrawer }) => (
<MuiThemeProvider theme={theme}>
...
</MuiThemeProvider>
);
我还尝试使用导入的颜色而不是#ffffff
,但这也没有效果。
有人有什么主意吗?
6条答案
按热度按时间2w3rbyxf1#
这对我很有效。我们选择的颜色决定有一个黑暗的按钮对比色,但白色作为对比色看起来更好:
fcwjkofz2#
解决了!这个终于成功了:
因此,您只需要使用“覆盖”并明确您想要更改的组件的确切类型。
e0uiprwp3#
当您在
Button
中设置颜色时(例如<Button color='primary'
),文本颜色的应用方式取决于Button
的变体:text
|outlined
:使用主颜色(例如primary.main
)作为文本颜色。contained
:使用contrastText
颜色作为文本颜色,main
颜色作为背景颜色。现场演示
相关回答
jdzmm42g4#
这个解决办法对我很有效
zbq4xfa05#
这对我来说很有用,例如。对于自定义
success
和error
颜色:然后在
.jsx
/.tsx
中声明Buttoncolor
。成功按钮:
对于红色按钮w/ outline:
4jb9z9bj6#
从https://github.com/mui-org/material-ui/blob/master/src/styles/getMuiTheme.js#L200你可以看到可以在主题中为各种组件设置什么,在
raisedButton
上你会看到color
是实际的按钮背景,要设置文本颜色,你需要更改textColor
属性。这并不完全直观,因为CSS
color
影响文本而不是背景,它甚至不匹配组件本身的属性http://www.material-ui.com/#/components/raised-button,而组件本身有backgroundColor
和labelColor
的 prop !!!