MUI - 更改主题中的按钮文本颜色

新手上路,请多包涵

我在直接在 MUI 主题中更改按钮文本颜色时遇到问题。更改原色 + 按钮字体大小可以正常工作,因此问题不在于传递主题。这是我的代码:

 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 ,但这也没有效果。

有人有什么想法吗?

原文由 jonsbaa 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 949
2 个回答

解决了!这终于成功了:

 const theme = createMuiTheme({
  palette: {
    primary: lightBlue,
  },
  overrides: {
    MuiButton: {
      raisedPrimary: {
        color: 'white',
      },
    },
  }
});

因此,您只需要使用“覆盖”并明确您要更改的组件的确切类型。

原文由 jonsbaa 发布,翻译遵循 CC BY-SA 3.0 许可协议

这对我有用。我们选择的颜色决定有一个深色按钮对比色,但白色作为对比色看起来可以说更好:

 const theme = createMuiTheme({
  palette: {
    primary: {
      main: "#46AD8D",
      contrastText: "#fff" //button text white instead of black
    },
    background: {
      default: "#394764"
    }
  }
});

原文由 CodingYourLife 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进