Tengo algo de lógica en mi componente de formulario personalizado que manipula algunos campos dentro del formulario antes de enviar la carga útil con onChange(). Me gustaría activar esta manipulación del formulario y enviar una actualización al formulario principal en cada llamada a writeValue(). El problema es que si llamo a onChange() después de que cambia el contenido, o en cualquiera de los ganchos del ciclo de vida de Angular, obtengo el infame "ExpressionChangedAfterItHasBeenCheckedError"
Código que maneja onUpdate:
private handleOnFormUpdate(): void { this.form.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((productItem) => { // removes some fields i REALLY don't want in my parent form... const validProductItem: DTO.ProductItemInput = { ...productItem, }; this.onTouched(); this.onChange(validProductItem); }); }