Вы можете сделать это внутри l oop для каждого индекса (элемента управления) следующим образом:
for (let i = 0; i < this.PWNHAmountData.length; i++) {
// build the form
pwnhAmountControl.push(this.fb.group(
{
CustomerId: [amountObject.CustomerId],
ProductId: [amountObject.ProductId],
Period: [amountObject.Period],
SACId: [amountObject.SACId],
SACName: [amountObject.SACName],
AccrualFromDate:
this.datePipe.transform([amountObject.AccrualFromDate.substring(0, 10)],
"MM/dd/yyyy"),
AccrualAmount: [amountObject.AccrualAmount],
UserId: ["support"],
ProductName: [this.fproductname],
CustomerName: [this.fcustomername]
}));
// listn to values changes
formArray.at(i).get('AccrualAmount').valueChanges.subscribe(value => {
console.log('AccrualAmount',value);
// Here you can set the value back to zero if it's empty
let numericValue = +value; // convert from string to number
if(numericValue == 0){ // see if the result is equal to zero
formArray.at(i).get('age').setValue(0,{emitEvent: false}); // set it to look like a zero
// make sure to use {emitEvent: false} so you don't stuck in a loop of setting the value and then triggering the onValuChange event.
}
});
}
воспроизведение стекаблица: (это другой пример, но в том же случае).
https://stackblitz.com/edit/angular-szxkme-t2aahm?file=app / autocomplete-display-example.ts
Вы можете найти нужный код в строке 49. Пожалуйста, пометьте ответ как правильный, если он вам помог.