FormGroupから単一の値を取得する方法


86

を使用してフォームの値を取得できることを認識しています

JSON.stringify(this.formName.value)ただし、フォームから単一の値を取得したいと思います。

どうすればそれを行うことができますか?

回答:


135

あなたはこのような価値を得ることができます

this.form.controls['your form control name'].value

23
this.form.controls.email.valueまた、括弧なしで動作しますが、お好みのスタイルあなたにそのアップ
Simon_Weaver

@Juliaが言ったように、「get()」メソッドで値を取得する方がこれよりも優れています。
KavindaJayakody20年


20

ドット表記はタイプチェックを中断し、ブラケット表記に切り替えます。get()メソッドを使用することもできます。また、私が読んだAOTコンパイルをそのまま維持します。

this.form.get('controlName').value // safer
this.form.controlName.value // triggers type checking and breaks AOT

1
私はこの.get()方法に同意しますが、次のように終了する必要があり.valueます。this.form.get('controlName').value
rynop19年

1
それが理由を与えるので、私はこの答えに感謝します。ありがとうございました。
MarkRullo20年

8

Angular6 +および> = RC.6の場合

.html

<form [formGroup]="formGroup">
  <input type="text" formControlName="myName">
</form>

.ts

public formGroup: FormGroup;
this.formGroup.value.myName

また動作するはずです。



2

このコードも機能します:

this.formGroup.controls.nameOfcontrol.value


0

あなたは次の方法で行うことができます

this.your_form.getRawValue()['formcontrolname]
this.your_form.value['formcontrolname]
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.