Reactjs 材质ui替代StepLabel嵌套属性
我想覆盖此StepLabel实现中出现的marginTop:16属性:Reactjs 材质ui替代StepLabel嵌套属性,reactjs,material-ui,Reactjs,Material Ui,我想覆盖此StepLabel实现中出现的marginTop:16属性: label: { color: theme.palette.text.secondary, '&$active': { color: theme.palette.text.primary, fontWeight: 500, }, '&$completed': { color: theme.palette.text.primary,
label: {
color: theme.palette.text.secondary,
'&$active': {
color: theme.palette.text.primary,
fontWeight: 500,
},
'&$completed': {
color: theme.palette.text.primary,
fontWeight: 500,
},
'&$alternativeLabel': {
textAlign: 'center',
marginTop: 16,
},
'&$error': {
color: theme.palette.error.main,
},
},
所以我得到了预期的结果:
但我一辈子都搞不懂怎么。。。。以下是我的实现:
<StepLabel
classes={{
root: classes.root,
labelContainer: classes.labelContainer,
label: classes.myLabel
}}
>
{this.state.labels[label - 1]}
</StepLabel>
结果-marginTop未被覆盖:(
进一步信息-我要覆盖的属性:
似乎这样做的方法是这样的-这要归功于这个答案 将空的alternativeLabel:{}放入,以便覆盖属性&$alternativeLabel:
const styles = theme => ({
labelContainer: {
"& $alternativeLabel": {
marginTop: 0
}
},
alternativeLabel: {},
});
然后在组件中这样称呼它:
<StepLabel
classes={{
alternativeLabel: classes.alternativeLabel,
labelContainer: classes.labelContainer
}}
>
<StepLabel
classes={{
alternativeLabel: classes.alternativeLabel,
labelContainer: classes.labelContainer
}}
>