我从表单中获取ID时遇到问题。
this.myForm看起来像@Input()public myForm:FormGroup;
它是另一个.ts文件的输入
这是表格的结构:
myForm会
- 名字
- 姓氏
- 电子邮件
--Tags(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));
});
如果我控制台.log(this.myForm)我得到这个结构:
console.log(control.controls),来自上面代码的'controls':
但是当我执行console.log(control.controls.length)时,我得到0.或者当我执行console.log(control.controls [0])时,我得到了未定义。
我不知道FormGroup对象在哪里,或者为什么它会在其中显示包含4个FormGroup对象的Array [0]。
答案 0 :(得分:0)
尝试 的console.log(this.myForm.controls [ 'ID']);
答案 1 :(得分:0)
尝试和John说的相同,你所拥有的不是数字索引数组,但是你有一个带有命名索引的对象(比如关联数组)。
在JavaScript中,数组使用编号索引。 在JavaScript中,对象使用命名索引。名称索引与关联数组相同。
有关详细信息,请参阅:https://www.w3schools.com/js/js_arrays.asp