Angular 5表单组列表控件或对其进行迭代

the*_*ter 1 forms web angular-fullstack angular formgroups

我在formgorup中使用angular 5,并希望对控件进行迭代,以便基于表单创建动态组件,表单字段由外部数据服务(数据库等)提供

声明如下

check = new FormGroup({
    firstName : new FormControl(true),
    lastName : new FormControl(false)
  });
Run Code Online (Sandbox Code Playgroud)

我发现说明了如何迭代控件,但是它不起作用。我尝试使用:

for(let item of this.check.controls){}
Run Code Online (Sandbox Code Playgroud)

并得到这是chrome调试:

无法读取未定义的属性“长度”

我无法访问this.check.controls.keys或keys()

我该如何迭代密钥?

谢谢

mal*_*awi 6

尝试使用Object.keys方法获取对象密钥

Object.keys(this.check.controls); // => ["firstName", "lastName"]
Run Code Online (Sandbox Code Playgroud)

this.check.controls是对象键/值对结构,如果要获取对象的键,{key1:value,key2:value}可以使用Object.keys方法返回包含键的数组['key1','key2']