material-ui - how to refer palette in override?

吃可爱长大的小学妹 提交于 2021-01-28 05:32:15

问题


How can I refer the palette in a theme override?

e.g. I want to change the selected Tab to have the secondary color as background, instead of hardcoded blue

const theme = createMuiTheme({
  overrides: {
    MuiTab: {
      root: {
        "&$selected": { backgroundColor: "blue" },  // TODO palette.secondary.main instead of blue
      }
    }
  },
  palette: {
    primary: { main: "black" },
    secondary: { main: "blue" }
  }
});

回答1:


You can create palette object that you can refer to:

import { createMuiTheme } from '@material-ui/core';
import createPalette from '@material-ui/core/styles/createPalette';

const palette = createPalette({
  primary: { main: "black" },
  secondary: { main: "blue" }
});

const theme = createMuiTheme({
  overrides: {
    MuiTab: {
      root: {
        "&$selected": { backgroundColor: palette.secondary.main },
      }
    }
  },
  palette
});


来源:https://stackoverflow.com/questions/61695520/material-ui-how-to-refer-palette-in-override

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!