リアクティブフォームの入力フィールドを無効にする 質問する

リアクティブフォームの入力フィールドを無効にする 質問する

私はすでにここから他の回答の例に従おうとしましたが、成功しませんでした。

リアクティブ フォーム (つまり動的フォーム) を作成し、特定の時点で一部のフィールドを無効にしたいと考えています。フォーム コード:

this.form = this._fb.group({
  name: ['', Validators.required],
  options: this._fb.array([])
});

const control = <FormArray>this.form.controls['options'];
control.push(this._fb.group({
  value: ['']
}));

私のHTML:

<div class='row' formArrayName="options">
  <div *ngFor="let opt of form.controls.options.controls; let i=index">
    <div [formGroupName]="i">
      <select formArrayName="value">
        <option></option>
        <option>{{ opt.controls.value }}</option>
      </select>
    </div>
  </div>
</div>

簡単にするためにコードを減らしました。選択タイプのフィールドを無効にしたいです。次のことを試しました:

form = new FormGroup({
  first: new FormControl({value: '', disabled: true}, Validators.required),
});

動作しません! 誰か提案はありますか?

ベストアンサー1

name: [{value: '', disabled: true}, Validators.required],
name: [{value: '', disabled: this.isDisabled}, Validators.required],

または

this.form.controls['name'].disable();

おすすめ記事