web-dev-qa-db-ja.com

[formGroup]を必要とせずに[formControl]を使用できますか?

UIでドロップダウンを使用していますが、[formControl]を使用するようになると、エラーがスローされます。

指定されていない名前属性を持つコントロールが見つかりません

app.module.tsでReactiveFormsModuleを使用しています。

私はGoogleを見つけて、親divで[formGroup]を使用することが解決策であることを発見しましたが、formControlsubscribe

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)
  });
}
7
physicsboy

はい、FormGroupなしでFormControlDirectiveを使用できます。

AngularはFormControlが定義されることを期待しています:

select = new FormControl();

mySubscription() {
  this.myService.myFunct.subscribe(res => {
    this.select.setValue(res.status)
  });
}
4
yurzui

サブスクライブ内でフォームコントロールを定義するのはなぜですか?私のアドバイスは、サブスクリプションの外でフォームのスケルトンを構築し、コントロールを使用して

mySubscription() {
  this.myService.myFunct.subscribe(res => {
    this.controls['select'].patchValue(res.status);
  });
}
0
filipbarak