Saltar al contenido

Ionic3/Error angular: debe proporcionar un valor para el control de formulario con el nombre: 'jobStatus'

Nuestros investigadores estrellas agotaron sus reservas de café, investigando todo el tiempo por la resolución, hasta que Angelina encontró el resultado en Gitea y en este momento la compartimos con nosotros.

Solución:

Mi problema era que no estaba proporcionando todos los valores de control de forma. Por ejemplo:

En este caso, si intenta utilizar el método setValue y no proporcione todos los valores de control, como este:

this.form.setValue( second: "" );

arrojará un error.

Solución

Cualquiera de los usos setValue y proporcionar valor para todos los controles de formulario:

this.form.setValue( first: "", second: "" );

o, si realmente tiene la intención de establecer valores parciales, use patchValue método:

this.form.patchValue( second: "" );

Correcto... Tenía un formulario que solía tener un solo control de formulario, llamado 'comentario'.

Cuando agregué un segundo elemento de forma condicional, la sintaxis que necesita usar cambia para setValue...

Necesitaba modificarlo de algo como esto:

  this.modalFG.setValue('comment': data.comment);
  this.modalFG.setValue('jobStatus': 0);

a:

  this.modalFG.controls['jobStatus'].setValue(0);
  this.modalFG.controls['comment'].setValue(data.comment);

porque ahora tenía dos campos en el formulario...

Entonces todo encajó y desapareció el mensaje engañoso sobre no haber proporcionado el campo de formulario.

¡Odio la sintaxis de Angular aquí, cambiando su comportamiento de funcionamiento cuando pasas de 1 a n valores!

También puede usar patchValue para configurar una o más entradas individualmente:

this.form.patchValue( first: "whatever" );

Agradecemos que quieras añadir valor a nuestro contenido informacional participando con tu experiencia en las explicaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.