У меня очень длинная форма в моем приложении React-Admin .Я хотел бы добавить элементы формы в степпер.
Из Material-UI они предоставляют пример Степперы
То, на что похожа помощь:
- Как добавить такие компоненты, как функция степпера
getStepContent ()
Как обернуть все входные компоненты в форму
Избегать перехода к следующему шагу, если форма в шаге не проверена.
функция getStepContent(stepIndex) {switch (stepIndex) {case 0: return 'Выбрать настройки кампании ...';вариант 1: вернуть «Что такое группа объявлений?»;case 2: return 'Это бит, который меня действительно волнует!';по умолчанию: return 'Uknown stepIndex';}}
класс HorizontalLabelPositionBelowStepper extends React.Component {state = {activeStep: 0,};
handleNext = () => {this.setState (state => ({activeStep: state.activeStep + 1,}));};
handleBack = () => {this.setState (state => ({activeStep: state.activeStep - 1,}));};
handleReset = () => {this.setState ({activeStep: 0,});};
render () {const {classes} = this.props;const steps = getSteps ();const {activeStep} = this.state;
return (
<div className={classes.root}>
<Stepper activeStep={activeStep} alternativeLabel>
{steps.map(label => {
return (
<Step key={label}>
<StepLabel>{label}</StepLabel>
</Step>
);
})}
</Stepper>
<div>
{this.state.activeStep === steps.length ? (
<div>
<Typography className={classes.instructions}>All steps completed</Typography>
<Button onClick={this.handleReset}>Reset</Button>
</div>
) : (
<div>
<Typography className={classes.instructions}>{getStepContent(activeStep)}</Typography>
<div>
<Button
disabled={activeStep === 0}
onClick={this.handleBack}
className={classes.backButton}
>
Back
</Button>
<Button variant="contained" color="primary" onClick={this.handleNext}>
{activeStep === steps.length - 1 ? 'Finish' : Next'}
</Button>
</div>
</div>
)}
</div>
</div>
);
}}
HorizontalLabelPositionBelowStepper.propTypes = {classes: PropTypes.object,};
экспорт по умолчанию с помощью стилей (стилей (стилей)(HorizontalLabelPositionBelowStepper);