Как я могу исправить массив вложенных форм?

#angular #angular-reactive-forms #angular2-forms #angular11

Вопрос:

У меня есть две реактивные формы. одна форма для добавления нового «соглашения» и добавления в него «контактов», а другая форма показывает все добавленные соглашения и контакты и имеет встроенное редактирование (добавление/удаление контактов). Я могу добавить соглашения и контакты в свою первую форму, но при подаче я должен добавить их во вторую форму. Моя первая форма выглядит примерно так:

 formInitializer() {
this.agrmntsForm = this.formBuilder.group({
  sales_price: new FormControl(''),
  closing_cost_support: new FormControl(''),
  financing: new FormControl(''),
  contract_date: new FormControl(''),
  inspection_period: new FormControl(''),
  closing_date: new FormControl(''),
  contacts: this.formBuilder.array([]),
})}
 

вторая форма выглядит примерно так :

 mainFormInitializer() {
this.mainForm = this.formBuilder.group({
  agreements: this.formBuilder.array([]),
});}
 

Вот стекблитц со всем кодом до этого момента:
стакблитц

Мне нужно исправлять все данные, поступающие из формы AGRMNTS, в основную форму каждый раз, когда пользователь добавляет новое соглашение. В настоящее время я могу исправить только массив соглашений, но, похоже, не могу понять, как исправить массив контактов.

Комментарии:

1. Привет, Айзаз, Есть грязное простое решение для обхода. 1-> установить aggrements как FormControl 2-> установите значение вместо патч значение mainFormInitializer() { соглашения: новый FormControl(), } patchControls(данные2) { это.форму mainform.управления[‘соглашений’].метод setValue(obj-файлы); } это ваша работа переполнение стека stackblitz.com/edit/…

2. Эй. простите меня, если я делаю что-то не так, но ваше решение, похоже, не исправляет данные в моей форме (в вашем коде stackblitz)