Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 从数组生成表单控件-角度4_Angular - Fatal编程技术网

Angular 从数组生成表单控件-角度4

Angular 从数组生成表单控件-角度4,angular,Angular,我有一个angular4表单,它是使用FormBuilder构建的。代码如下 initializeFromControls(){ 设obj={ 名字:新表单控件(“”,), 姓氏:新表单控件(“”,), 电子邮件:new FormControl(“”, [验证器。必需, 模式(“^[a-z0-9.\%+-]+@[a-z0-9.-]+\[a-z]{2,4}$”), 状态:新表单控件(“”,), 角色id:新表单控件(“”) } this.userFrm=this.formBuilder.group

我有一个angular4表单,它是使用FormBuilder构建的。代码如下

initializeFromControls(){
设obj={
名字:新表单控件(“”,),
姓氏:新表单控件(“”,),
电子邮件:new FormControl(“”,
[验证器。必需,
模式(“^[a-z0-9.\%+-]+@[a-z0-9.-]+\[a-z]{2,4}$”),
状态:新表单控件(“”,),
角色id:新表单控件(“”)
}
this.userFrm=this.formBuilder.group(obj);
}
现在我有了另一个名为account_id的字段,它是一个数组。帐户ID是从getAccounts api调用获取的

ngOnInit(){
this.initializeFromControls();
这个.getAccounts();
}
对于每个帐户,我需要显示一个复选框和帐户名。所选帐户将以以下格式发送:
account\u id:[1,2,3]


如何使用FormBuilder实现此目的。

在初始化
obj
中添加:

let obj = {
  ...
  accounts: this.formBuilder.array([])
  ...
}
然后,在获得您的
帐户\u id
后,写下:

account_ids.forEach(acc_id => {
  this.userFrm.get('accounts').push(
    FormControl(acc_id)
  )
}

但请记住,在这种情况下,帐户“1”将位于
this.userFrm.get('accounts')
中的位置0。

您是否查看了
FormArray
?您应该编辑此问题,而不是创建新问题()