如何从 FormGroup 中获取单个值

Posted

技术标签:

【中文标题】如何从 FormGroup 中获取单个值【英文标题】:How to get a single value from FormGroup 【发布时间】:2017-09-28 12:59:14 【问题描述】:

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

JSON.stringify(this.formName.value)

但是,我想从表单中获取单个值。

我该怎么做?

【问题讨论】:

【参考方案1】:

可以通过以下方式进行

this.your_form.getRawValue()['formcontrolname]
this.your_form.value['formcontrolname]

【讨论】:

【参考方案2】:

另一种选择:

this.form.value['nameOfControl']

【讨论】:

【参考方案3】:

您可以使用getRawValue()

this.formGroup.getRawValue().attribute

【讨论】:

【参考方案4】:

点符号会破坏类型检查,切换到括号符号。您也可以尝试使用 get() 方法。它还使我读过的 AOT 编译保持不变。

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

【讨论】:

我同意.get() 方法,但是需要以.value 结尾我认为:this.form.get('controlName').value 我很欣赏这个答案,因为它给出了为什么。谢谢。【参考方案5】:

此代码也有效:

this.formGroup.controls.nameOfcontrol.value

【讨论】:

【参考方案6】:

对于 Angular 6+ 和 >=RC.6

.html

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

.ts

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

应该也可以。

【讨论】:

【参考方案7】:

你可以获得这样的价值

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

【讨论】:

this.form.controls.email.value 也可以不使用括号,但取决于您喜欢哪种风格 正如@Julia 所说,通过“get()”方法获取价值比这更好。【参考方案8】:

是的,你可以。

this.formGroup.get('name of you control').value

【讨论】:

这应该是正确的答案,因为您是通过方法访问而不是直接获取控件 当然,这也是官方文档中使用的方法。 angular.io/guide/reactive-forms

以上是关于如何从 FormGroup 中获取单个值的主要内容,如果未能解决你的问题,请参考以下文章

如何从单个输入值中获取分类报告

如何从单个项目DataFrame中获取值[重复]

如何从多个可选选项中获取单个值?

如何从 JSON 数组中的 JSON 对象中的单个值获取数据?

如何从 HTML/PHP 中的单个 <select> 变量中获取多个值?

如何编写从布尔表达式查询中获取单个值的函数/触发器