Material UI v1.0.0 如何覆盖 Stepper 类来设置图标大小

Posted

技术标签:

【中文标题】Material UI v1.0.0 如何覆盖 Stepper 类来设置图标大小【英文标题】:Material UI v1.0.0 how to override Stepper classes to set icon size 【发布时间】:2018-05-27 02:37:09 【问题描述】:

我现在正在迁移到新版本的 Material UI。我不得不说我有点困惑如何覆盖类。

我需要使用带有替代标签的Stepper,它对我有用,我能够覆盖根类来设置透明背景。

但我需要将步骤图标大小设置为 42 像素,但我没有成功。

我的代码看起来:

    const styles = 
        root: 
            backgroundColor: "rgba(255, 0, 0, 0)",
        
    ;

    const MyStepper = (props) => 
        return (
            <Stepper
                activeStep=props.activeStep
                alternativeLabel
                classes=
                    root: props.classes.root,               
                
            >
                props.children
            </Stepper>        
        );
    

    const StyledStepper = withStyles(styles)(MyStepper);

    export default class CheckoutStepper extends React.PureComponent<ICheckoutStepperProps, > 

    public render() 

        return <div >
            <StyledStepper
                activeStep=this.props.step
                >
                <Step>
                    <StepLabel>
                        stepTable[0].label
                    </StepLabel>
                </Step>
                <Step>
                    <StepLabel>
                        stepTable[1].label
                    </StepLabel>
                </Step>
                <Step >
                    <StepLabel>stepTable[2].label</StepLabel>
                </Step>
                <Step>
                    <StepLabel>stepTable[3].label</StepLabel>
                </Step>
            </StyledStepper>
        </div>;

    

我确定我必须设置 StepLabel 的样式,但是当我尝试设置只是 coor 到根图标时消失了。

非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

看起来改变步进图标大小的唯一方法是设置transform: scale(scaleValue)。检查this codesandbox(demo.js 文件)。注意下面的代码:

const styles = theme => (
  root: 
    width: '90%',
  ,
  backButton: 
    marginRight: theme.spacing.unit,
  ,
  instructions: 
    marginTop: theme.spacing.unit,
    marginBottom: theme.spacing.unit,
  ,
  iconContainer:  // define styles for icon container
    transform: 'scale(2)',
  
);

...

<Stepper activeStep=activeStep alternativeLabel>
  steps.map((label, index) => 
    return (
      <Step key=label>
        <StepLabel classes= // apply this style
          iconContainer: classes.iconContainer
        >label</StepLabel>
      </Step>
    );
  )
</Stepper>

【讨论】:

codesandbox 链接似乎已损坏。对我来说,当我这样做时,连接点的线与点重叠。

以上是关于Material UI v1.0.0 如何覆盖 Stepper 类来设置图标大小的主要内容,如果未能解决你的问题,请参考以下文章

Google--Material Design UI素材库React版

无法在material-ui @ next中导入Svg图标

如何覆盖(覆盖)material-ui(React)中的类和样式

如何在 Material-UI 中使用 Box 组件覆盖按钮?

如何使用样式组件覆盖material-ui css?

如何防止 material-ui 包覆盖我的应用程序样式?