如何从FormGroup获取单个值


81

我知道我可以使用以下方式获取表单的值

JSON.stringify(this.formName.value)但是,我想从表单中获取单个值。

我该怎么做呢?

Answers:


128

你可以这样获得价值

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

21
this.form.controls.email.value也可以不使用括号,但取决于您喜欢哪种样式
Simon_Weaver

就像@Julia所说的那样,通过“ get()”方法获取价值比这更好。
Kavinda Jayakody


16

点符号将破坏类型检查,请切换到方括号符号。您也可以尝试使用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
rynop

1
我感谢这个答案,因为它为您提供了方便。谢谢。
Mark Rullo

8

对于Angular 6+和> = 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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.