【发布时间】:2022-01-21 00:15:24
【问题描述】:
我有两个主题,darkcustomtheme:
export const darkcustomTheme = createTheme({
palette: {
mode: 'dark',
primary: {
main: darkprimaryColor,
dark: grey[100],
light: grey[200],
},
secondary: {
main: darksecondaryColor,
},
info: {
main: darkinfoColor,
}
},
还有 lightcustomTheme:
palette: {
mode: 'light',
primary: {
main: lightprimaryColor,
dark: orange[100],
light: orange[200],
},
secondary: {
main: lightsecondaryColor,
},
info: {
main: lightinfoColor,
},
},
然后我使用 ThemeProvider 根据一个开关按钮的状态来改变主题:
<ThemeProvider theme={theme ? darkcustomTheme : lightcustomTheme}>
问题是我无法在按钮上的 customTheme 的主调色板上传递变体深色和浅色。我在想类似的东西
<Button size="small" variant="extended" color="primary.dark">Warning</Button>
但这不行,我不能创建一个自定义组件只在这个按钮中传递,因为我使用了两个customTheme,所以我严格需要传递像color="primary.dark"这样的属性
【问题讨论】:
标签: reactjs material-ui