3 回答

TA貢獻1775條經(jīng)驗 獲得超11個贊
它歸結(jié)為您使用 FormControl 的方式,當(dāng)您在 a 中使用它時,FormGroup
您需要使用 聲明表單組內(nèi)的表單控件formControlName
,如下所示:
<form [formGroup]="myForm"> <input type="text" formControlName="myInput"> </form>
但是,如果您只需要一個或簡單的FormControl
,則可以將其聲明為:
<input [formControl]="myInput"/>
這是您的情況,因此只需將您的指令更改[formControl]
為[formControlName]
:
<mat-slide-toggle [formControl]="toggleControl">Slide</mat-slide-toggle>

TA貢獻1825條經(jīng)驗 獲得超4個贊
例子:
.html
<form class="example-form" #form="ngForm" (ngSubmit)="onFormSubmit()" ngNativeValidate>
<mat-slide-toggle ngModel name="enableWifi">Enable Wifi</mat-slide-toggle>
<mat-slide-toggle ngModel name="acceptTerms" required>Accept Terms of Service</mat-slide-toggle>
<button mat-raised-button type="submit">Save Settings</button>
</form>
.ts
export class SlideToggleFormsExample {
formGroup: FormGroup;
constructor(formBuilder: FormBuilder) {
this.formGroup = formBuilder.group({
enableWifi: '',
acceptTerms: ['', Validators.requiredTrue]
});
}
onFormSubmit() {
alert(JSON.stringify(this.formGroup.value, null, 2));
}
}
來源: https ://stackblitz.com/angular/gjjngpabxnlv?file=src%2Fapp%2Fslide-toggle-forms-example.ts
添加回答
舉報