Soy nuevo en el desarrollo de Angular. En mi proyecto, tengo un formulario con un cuadro de entrada para agregar y eliminar dinámicamente usando el botón Agregar y Eliminar en la aplicación Angular 8. Después de enviar el formulario, quiero mostrar y editar los campos de entrada con el mismo botón Agregar y Eliminar. ¿Cómo puedo lograr la funcionalidad en edit.
Comparto la URL de stackblitz para crear un formulario dinámico con el botón Agregar y quitar. Necesito el mismo formulario para editar. ¿Alguien puede ayudarme a dar solución?
https://stackblitz.com/edit/angular-dynamic-form-fields-y2ijvu?file=src%2Fapp%2Fapp.component.ts
Solución del problema
Para llenar los teléfonos con valores recibidos dinámicamente (por ejemplo, de api), deberá agregar un parámetro addPhone()
y llamarlo al iterar sobre los valores recibidos.
addPhone(phone: string): void {
(this.userForm.get('phones') as FormArray).push(phone);
}
receivedPhones.forEach(phone => this.addPhone(phone))
o podría .setValue()
o .patchValue()
de FormArray así:
this.userForm.get('phones').setValue(receivedPhones)
( setValue()
requiere que la matriz tenga el mismo número de miembros)
Es posible compartir un formulario para editar y ver situaciones, simplemente agregue una bandera isNew
, complétela y utilícela. A menudo, la funcionalidad de edición reside en una ruta diferente (.../editar) que le permite proporcionar la definición isNew: true
de la ruta.data
No hay comentarios.:
Publicar un comentario