Обнаружение изменений дочерних элементов FormArray

У меня есть FormArray с разными FormControl предметами внутри. Я хочу иметь возможность прослушивать событие изменения любого из них.

Я пробовал это сделать:

this.form = this.fb.group({
    items: this.fb.array([this.fb.control('')])
});

(<FormArray>this.form.get('items')).controls.forEach((control: FormControl) => {
    control.valueChanges.subscribe(change => console.log(change));
});

Но я, кажется, никогда не добираюсь до console.log, хотя я уверен, что дочерние элементы управления запускают событие изменения (из интерфейса ControlValueAccessor).

Как можно было бы подписаться на изменение дочерних элементов управления FormArray?


person Jago    schedule 10.09.2018    source источник
comment
просто подпишитесь на изменения на FormArray, если это возможно. // кстати, ваш текущий код выглядит так, как будто он ДОЛЖЕН работать - можете ли вы разместить здесь шаблон?   -  person c69    schedule 10.09.2018
comment
Вам необходимо проверить каждый элемент управления массивами форм. Так, например, если у вас есть элемент управления как элементы - (‹FormArray› this.form.get ('items')). Controls.forEach (control = ›{control.get ('item'). ValueChanges .debounceTime (100). ownUntilChanged () .subscribe (значение = ›{this.onChanges (значение);});});   -  person Raj    schedule 10.09.2018
comment
Я согласен с c69 - похоже, ваш код должен работать. Проверьте этот вопрос и ответ epsilon - у меня это сработало: stackoverflow.com/questions/53654938/   -  person Aleks Grunwald    schedule 28.11.2020


Ответы (1)


person    schedule
comment
вы можете предоставить стек по вашей проблеме? - person Navruzbek Noraliev; 18.03.2020
comment
Это отслеживает изменения в «элементах», и, насколько я понимаю вопрос, Jago нужно прослушивать все элементы управления отдельно. - person Aleks Grunwald; 28.11.2020
comment
он хочет от любого из них, это всего лишь пример, он может написать имя формы, которое он хочет прослушать, только this.form.valueChanges, чтобы прослушивать общие изменения в форме - person Navruzbek Noraliev; 07.12.2020