1. ホーム
  2. angular

[解決済み] Angular2 formGroupに値を設定する

2022-09-22 12:58:20

質問

エンティティを作成するための複雑なフォームがあります。私はデータベースから取得したデータとまったく同じようにフォームを構成しました。

this.form = builder.group({
      b : [ "", Validators.required ],
      c : [ "", Validators.required ],
      d : [ "" ],
      e : [ [] ],
      f : [ "" ]
    });
this.form.value({b:"data",c:"data",d:"data",e:["data1","data2"],f:data});

PS: NgModel は新しいフォーム API では動作しません。また、以下のようにテンプレートで一方的なデータバインディングを使用しても構いません。

<input formControlName="d" value="[data.d]" />

であればうまくいきますが、配列の場合は面倒です。

どのように解決するのですか?

設定方法 全て FormGroup の値を使用します。 設定値 :

this.myFormGroup.setValue({
  formControlName1: myValue1, 
  formControlName2: myValue2
});

設定するには のみを設定する の値のみを設定するには パッチバリュ :

this.myFormGroup.patchValue({
  formControlName1: myValue1, 
  // formControlName2: myValue2 (can be omitted)
});

この2番目の手法では、すべての値を提供する必要はなく、値が設定されていないフィールドは影響を受けません。