我正在项目中使用Material-ui-next Select组件。
使用classes
道具正在覆盖大多数样式。但即使使用selected
,MuiThemeProvider
密钥也无法正常工作。
以下是代码的相关部分:
...
const theme = createMuiTheme({
overrides: {
MuiMenuItem: {
selected: {
backgroundColor: 'transparent',
}
}
}
});
...
class SelectMUI extends Component {
render() {
const {className, name} = this.props
return (
<MuiThemeProvider theme={theme}>
<Select
classes={{root: 'muisc-root', icon: 'muisc-icon', select: 'muisc-select', selectMenu: 'muisc-select-menu'}}
className={`mui-select-custom ${className}`}
endAdornment={<Caret className='mui-select-caret'/>}
MenuProps={{classes: {paper: 'muisc-menu-paper'}}}
{...this.props}
>
{this.props.children}
</Select>
</MuiThemeProvider>
)
} }
所以,正如你所看到的,当我将MenuItems导入为道具时,我正在使用MuiThemeProvider
在项目中注入样式。
以下是所选项目中应用样式的屏幕截图:
如何覆盖这个组合来自同一元素的两个类的选择器?
答案 0 :(得分:2)
好的,我弄明白了如何覆盖组合选择器。这是解决方案:
MuiMenuItem: {
root: {
background: 'transparent',
'&$selected': { // <-- mixing the two classes
backgroundColor: 'transparent'
}
}
}