Проблема в том, что вы создаете только 1 FormGroup:
this.selectForm = this.formBuilder.group({
persons: this.formBuilder.array([
this.formBuilder.group({
'person': '',
'country': ''
})
])
})
Вы должны выполнить итерацию this.parts
для их динамического создания:
const persons = <FormArray>this.selectForm.get('persons');
this.parts.forEach((part) => {
part.persons.forEach((person) => {
persons.push(this.formBuilder.group({country: null, name: person.name}));
})
});
Это дастдва экземпляра FormGroup
, каждый из которых имеет свойство country
и name
.Это более простой способ сделать это, и он не такой грязный, как ваше текущее решение.Вам придется соответственно обновить шаблон.