Я использую Angular Reactive Forms для итерации по массиву значений. Я хотел бы иметь полное поле после массива форм, которое обновляется при изменении значений элемента управления Form Array.
Образец данных:
primaryData = {
products: [
{
name: 'test-product',
unmoved: 21,
moved: 18
},
{
name: 'another-product',
unmoved: 18,
moved: 42
}
]
}
Я создаю элементы управления реактивной формы и массив следующим образом:
setPrimaryQuantities() {
const control = <FormArray>this.primaryForm.controls.quantities;
this.primaryData.products.forEach(product =>
control.push(this.fb.group({
name: [product.name, Validators.required],
unmoved: [product.unmoved, Validators.required],
moved: [product.moved, Validators.required]
}))
)
}
ngOnInit() {
this.primaryForm = this.fb.group({
quantities: this.fb.array([]),
unmovedTotal: '',
movedTotal: ''
})
this.setPrimaryQuantities();
}
Как лучше всего обновить мои unmovedTotal
и movedTotal
Controls на основе изменений в элементах управления Array. Вот StackBlitz, демонстрирующий мою структуру.