Angular 从数组生成表单控件-角度4
我有一个angular4表单,它是使用FormBuilder构建的。代码如下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
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
?您应该编辑此问题,而不是创建新问题()