<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