Как изменить числа по шагам в Material-ui Stepper?

введите здесь описание изображения

Эти шаги принимают числа, которые являются длиной массива шагов, т. Е.

    state = {
       steps: [0, 1, 2, 3]
    };

Позже это состояние может измениться на

    this.setState({
      steps: [1,2,3,4]
    });

Or

   this.setState({
     steps: [2,3,4,5]
   }); 

и так далее....

Но во всех случаях мои шаги показывают только 1,2,3,4 ,. Мне нужно изменить эти числа в соответствии с элементом массива шагов.

Это код для степпера.

<Stepper alternativeLabel nonLinear activeStep={activePage}>
     {steps.map((step, index) => {
       return (
        <Step key={index}>
          <StepButton
            onClick={this.handleStep(index)}
            disabled={dealsLoading}
          >
            </StepButton>
        </Step>
      );
    })}
  </Stepper>

Как этого добиться?

Если я использую компонент StepLabel, он выглядит как  введите описание изображения здесь

Но мне не нужен ярлык. Я хочу, чтобы эти ярлыки были на кнопках шагов. Код для этого:

 <Stepper alternativeLabel nonLinear activeStep={activePage}>
        {steps.map((step, index) => {
          return (
            <Step key={index}>
               <StepLabel 
                  onClick={this.handleStep(step)}
                  disabled={dealsLoading}
               >
                {step}
              </StepLabel>
            </Step>
          );
        })}
      </Stepper>

person Coder    schedule 24.07.2018    source источник


Ответы (1)


Что касается вашего вопроса, насколько я понял, ваши steps числа изменились, верно? Если это так, то Проблема: в основном вы меняете номер шага, но отправляете индекс.

{steps.map((step, index) => {
       return (
        <Step key={index}>
          <StepButton
            onClick={this.handleStep(step)} // passed step value instead of index.
            disabled={dealsLoading}
          >
            </StepButton>
        </Step>
      );
    })}

Если это не сценарий, пожалуйста, отредактируйте и доработайте ваш пример, например step array, щелкнув нужное значение шага acitveindex. Пожалуйста, покажите код функции handleStep

person Revansiddh    schedule 24.07.2018
comment
Спасибо за ответ. Первоначально состояние шага содержит только [0,1,2,3]. все же кнопки шага показывают 1,2,3,4. Если я изменю начальное состояние шагов на [1,2,5,6] (несколько случайных), кнопки шагов по-прежнему останутся 1,2,3,4. Почему они не меняются? - person Coder; 24.07.2018
comment
Использовать StepLabel метку передачи компонента в качестве дочерних к нему, читать документы, редактировать ans - person Revansiddh; 24.07.2018
comment
github.com/mui-org/material-ui/issues/12262: наконец, это решает мою проблему. - person Coder; 24.07.2018