如何从 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 中获取单个值的主要内容,如果未能解决你的问题,请参考以下文章
如何从 JSON 数组中的 JSON 对象中的单个值获取数据?