компоненты?
ошибка вида: "Cannot find control with path: 'opers -> periods'"
Думаю нужно больше информации) Можно скриншот ошибки?)
где-то с формой проблема
скрин, конечно вот, но дело явно описании контрола
это понятно, даже есть подозрение на кусок кода, но не могу понять в чем именно беда
разшарь этот кусок сюда, в слепую сложно
fillOperators() { console.log(this.detailSalaryDtos) for (let operator of this.detailSalaryDtos) { const arrayPeriod = this.formBuilder.array([]); for (let period of operator.salaries) { arrayPeriod.push(this.formBuilder.group({ begin: [period.begin], end: [period.end] })) } console.log(arrayPeriod); (this.formOpers.get('opers') as FormArray).push( this.formBuilder.group({ id: [operator.id], fullName: [operator.fullName], periods: [arrayPeriod] }) ) } } formOpers = this.formBuilder.group({ opers: this.formBuilder.array([]), });
this.formOpers.get('opers') вот сдесь у тебя не андефайнд?
видимо... я еще только постигаю эту науку Ангулара получается при работ у шаблоне formArrayName="opers" - отрабатывает, а вложенный formArrayName="periods" не видит
Если я правильно понял, у тебя вложенная форма в форму. Чекни вот как здесь работают с "address". Нужно определить еще один элемент с директивой [formGroupName]="opers" в HTML и уже внутри этого элемента обращаться к [formControlName]="'periods'": https://stackoverflow.com/questions/44499425/how-to-use-formcontrolname-and-deal-with-nested-formgroup Но у тебя FormArray, значит вместо [formGroupName], нужно [formArrayName]
если я правильно понял, то у меня так и есть. ошибка вываливается по стелке в шаблоне
Ты periods добавляешь в форму? Самые последние строки. Я вижу что там только opers добавляются
да, метод fillOperators() начнается с того, что формируется массив periods, который чуть ниже добавляется в форму как поле preiods
Ты в HTML убрал цикл в том числе с элемента на котором formArrayName="opers"? Цикл нужен на дочернем элементе
вот так щас сделал, один хрен ошибка тажа самая...
Обсуждают сегодня