Angular 5 反应形式 - 带有 FormArray 的 patchValue 不工作

Angular 5 reactive form - patchValue with FormArray not working

我在 Ionic3 框架中有这种反应形式,我需要用从 API 检索到的数据填充它。为此,我使用 patchValue,因为我在某处读到它比 setValue 更可靠。

我面临的问题是,它不会填充重复的表单字段。为了更好地解释,我创建了这个 example code

我尝试了其他方法,比如直接将数据分配给相应的字段,而不是先使用 for 循环,但只填充了 1 组而不是全部 3 组。

有人可以指出我做错了什么,或者提供更好的解决方案吗?

谢谢

在您的示例中,将 home 组件上的 for 循环设置为如下所示

for(const rooms of resp.room_data){

      const roomNumberControl = this.createRooms();
      (<FormArray>this.informationForm.controls.room_numbers).push
      (roomNumberControl);
      console.log(JSON.stringify(rooms));
    }

创建房间只需要在其中包含一些数据,但这将为数组中的每个人创建对象。这就是我过去的做法。