繁体   English   中英

表单中的Angular2访问值

[英]Angular2 access value in Form

我在从表单获取ID时遇到问题。

this.myForm看起来像这样@Input()public myForm:FormGroup;

它是另一个.ts文件的输入

这是表格的结构:
myForm会
- 名字
- 姓
-电子邮件
-标签(FormArray)
--- id(FormGroup)

我想访问id并用一个用户的所有标签填充this.selectedTagList,这就是我想要做的:

const control: FormArray = <FormArray>this.myForm.controls[ 'tags' ];
control.controls.forEach(tag=> {
this.selectedTagList.push(this.tagList.find(tag.value.id));
});

如果我console.log(this.myForm)我得到这个结构:
this.myForm

console.log(control.controls),上面代码中的“控件”:
在此处输入图片说明

但是当我执行console.log(control.controls.length)时,我将获得0。或者当我执行console.log(control.controls [0])时,我将变得不确定。

我不知道FormGroup对象去了哪里,或者为什么它说其中有4个FormGroup对象的Array [0]。

试试console.log(this.myForm.controls ['id']);

像约翰所说的那样尝试,您拥有的不是数字索引数组,但是您有一个带有命名索引的对象(如关联数组)。

在JavaScript中,数组使用编号索引。 在JavaScript中,对象使用命名索引。名称索引与关联数组相同。

有关更多信息,请参见: https : //www.w3schools.com/js/js_arrays.asp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM