<mat-stepper linear #stepper>
<mat-step [stepControl]="firstFormGroup" label="Fill out your name">
<form [formGroup]="firstFormGroup">
<div>
<mat-form-field>
<mat-label>Name</mat-label>
<input matInput formControlName="name" required>
<mat-error *ngIf="firstFormGroup.controls['name'].hasError('required')">
Name is required!
</mat-error>
</mat-form-field>
</div>
<div>
<button mat-button matStepperNext>Next</button>
</div>
</form>
</mat-step>
<mat-step [stepControl]="secondFormGroup" label="Fill out your address">
<form [formGroup]="secondFormGroup">
<div>
<mat-form-field>
<mat-label>Address</mat-label>
<input matInput formControlName="address" required>
<mat-error *ngIf="secondFormGroup.controls['address'].hasError('required')">
Address is required!
</mat-error>
</mat-form-field>
</div>
<div>
<button mat-button matStepperPrevious>Back</button>
<button mat-button matStepperNext>Next</button>
</div>
</form>
</mat-step>
<mat-step label="Done">
<p>You are now done.</p>
<div>
<button mat-button matStepperPrevious>Back</button>
<button mat-button (click)="stepper.reset()">Reset</button>
</div>
</mat-step>
</mat-stepper>
And the TypeScript file:
export class MyComponent {
firstFormGroup: FormGroup;
secondFormGroup: FormGroup;
constructor(private _formBuilder: FormBuilder) {
this.firstFormGroup = this._formBuilder.group({
name: ['', Validators.required]
});
this.secondFormGroup = this._formBuilder.group({
address: ['', Validators.required]
});
}
}

No comments:
Post a Comment