问题
Is there any way to use [stepControl]
error matcher with template driven forms? The docs just teach about an AbstractControl instance, which apparently forces the use of a reactiveForm.
I've tried to use [stepControl]="myNgForm"
and [linear]="true"
to validate the steps but the stepper just ignores it.
I appreciate any help.
Thanks!
回答1:
The step control seems to work with "form.control". Here an example with one form per step and template driven forms.
<mat-vertical-stepper [linear]="true">
<mat-step [stepControl]="form1.control">
<form #form1="ngForm">
<input [(ngModel)]="name" name="name" required />
</form>
</mat-step>
<mat-step [stepControl]="form2.control">
<form #form2="ngForm">
<input [(ngModel)]="address" name="address" required />
</form>
</mat-step>
</mat-vertical-stepper>
回答2:
use [stepControl]="myNgForm.controls.[controlGroup]"
<form #form="ngForm" novalidate>
<mat-vertical-stepper [linear]="true">
<mat-step label="Reporting person" ngModelGroup="reportor" [stepControl]="form.controls.reportor">
<mat-form-field>
<input matInput placeholder="First Name" name="firstName" ngModel required />
</mat-form-field>
</mat-step>
</mat-vertical-stepper>
</form>
来源:https://stackoverflow.com/questions/50261982/mathorizontalstepper-stepcontrol-with-template-driven-forms