UIでドロップダウンを使用していますが、[formControl]
を使用するようになると、エラーがスローされます。
指定されていない名前属性を持つコントロールが見つかりません
app.module.ts
でReactiveFormsModuleを使用しています。
私はGoogleを見つけて、親div
で[formGroup]を使用することが解決策であることを発見しましたが、formControl
をsubscribe
。
myComp.component.html
<div class="exceptional-status">
<select #exceptionalSelect id="excep-status-dropdown" [formControl]="select">
<option disabled value="default">--Exceptional statuses--</option>
<!-- other options here with *ngFor -->
</select>
</div>
myComp.component.ts
select: FormControl;
mySubscription() {
this.myService.myFunct.subscribe(res => {
this.select = new FormControl(res.status)
});
}
はい、FormGroupなしでFormControlDirective
を使用できます。
AngularはFormControlが定義されることを期待しています:
select = new FormControl();
mySubscription() {
this.myService.myFunct.subscribe(res => {
this.select.setValue(res.status)
});
}
サブスクライブ内でフォームコントロールを定義するのはなぜですか?私のアドバイスは、サブスクリプションの外でフォームのスケルトンを構築し、コントロールを使用して
mySubscription() {
this.myService.myFunct.subscribe(res => {
this.controls['select'].patchValue(res.status);
});
}