1. ホーム
  2. アンギュラー

[解決済み】リアクティブフォームの入力フィールドを無効にする

2022-04-10 05:54:47

質問

私はすでにここから他の回答の例に従ってみたが、私は成功しませんでした!

私は反応型フォーム(つまり動的)を作成し、任意の時点でいくつかのフィールドを無効にしたいです。私のフォームコードです。

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>

簡単にできるようにコードを縮小しました。select型のフィールドを無効化したい。以下のようにやってみました。

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

動かない どなたかご意見をお聞かせください。

解決方法を教えてください。

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

または

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