【问题标题】:How can I change step from child component?如何从子组件更改步骤?
【发布时间】:2020-06-09 19:37:38
【问题描述】:

我想在步进器中显示不同的组件,而不使用经典的上一个/下一个按钮。

我开始使用经典材质 UI 步进器作为示例,但现在我想知道如何在我的 PlanSelection 组件中添加一个按钮以引导下一步?

function getSteps() {
  return ['Plan', 'Date', 'Informations', 'Payment'];
}


function getStepContent(step) {
  switch (step) {
    case 0:
      return <PlanSelection />;
    case 1:
      return <DateSelection />;
    case 2:
      return <InformationsCustomer />;
    case 3:
      return <SummaryPayment />;
    default:
      return 'Unknown step';
  }
}

export default function CustomizedSteppers() {
  const classes = useStyles();
  const [activeStep, setActiveStep] = React.useState(0);
  const steps = getSteps();

  const handleNext = () => {
    setActiveStep(prevActiveStep => prevActiveStep + 1);
  };

  const handleBack = () => {
    setActiveStep(prevActiveStep => prevActiveStep - 1);
  };


  return (
    <Grid className={classes.root}>
      <Stepper alternativeLabel activeStep={activeStep} connector={<ColorlibConnector />}>
        {steps.map(label => (
          <Step key={label}>
            <StepLabel StepIconComponent={ColorlibStepIcon}>
              {label}
            </StepLabel>
          </Step>
        ))}
      </Stepper>


     <Grid>{getStepContent(activeStep)}</Grid>

    </Grid>
  );
}

【问题讨论】:

  • 嗨,亲爱的@Stompy,欢迎来到 Stack Overflow。你问的好问题,我为动力投了赞成票。祝你好运。

标签: reactjs material-ui stepper


【解决方案1】:

我只需要将道具传递给我的欲望组件

return <PlanSelection handleBack={handleBack} handleNext={handleNext} />;

然后在PlanSelection.js

const PlanSelection = (props) => {

const { handleBack, handleNext,t } = props;

【讨论】:

    猜你喜欢
    • 2019-06-05
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 2023-03-18
    相关资源
    最近更新 更多