繁体   English   中英

如何将对象数组转换为表单组数组?

[英]How do i turn an object array into a formgroup array?

我想使用formbuilder的array函数来使用formcontrol数组。 我有一个现有的自定义对象数组,需要添加到该FormArray但是它仅将FormGroup作为参数。 如何将自定义对象数组转换为FormGroup对象,以便可以将其添加到FormArray中? 我已经尝试过了:

let formGroupArray: FormGroup[] = [];
    for(let i=0; i < account.laborperiods.length; i++){
      let formGroup = this.fb.group({
        id: this.account.laborperiods[i].id,
        beginDate: this.account.laborperiods[i].beginDate,
        endDate: this.account.laborperiods[i].endDate,
        hours: this.account.laborperiods[i].hours,
        account: this.account.laborperiods[i].account
      })
        formGroupArray.push(formGroup)
    }
    this.laborPeriodArray = new FormArray(formGroupArray);

但这给了我错误"ERROR TypeError: Circular reference in value argument not supported"

那么谁能告诉我如何将自定义对象数组转换为FormGroup数组? 还是有一种更方便的方法可以将自定义对象数组直接转换为FormArray?

尝试:

let formGroupArray:FormArray
for(let i=0; i < account.laborperiods.length; i++){
      let formGroup = this.fb.group({
          ...
      })
      if (!formGroupArray)
        formGroupArray=new FormArray(formGroup);
      else
        formGroupArray.push(formGroup)
}
//Change this line
this.laborPeriodArray = formGroupArray;

暂无
暂无

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

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