Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

235
Vistas
Valor de control de formulario de actualización de Angular2

Tengo un problema al crear formularios angulares2 dinámicos con controles y cuadros de selección, por ejemplo, este plunker :

 <select class="form-control" ngControl="power"> <option *ngFor="#p of powers" [value]="p">{{p}}</option> </select>

Puedes seleccionar un poder de héroe y el control tendrá el mismo valor. Pero si presiona Change Powers , el valor seleccionado será nulo pero el valor de control seguirá siendo el valor anterior. Creo que este es un problema grave, ya que es una fuente de muchos errores cuando el formulario muestra una cosa, pero en realidad enviará algo diferente, ¿hay alguna forma de actualizar el contenido del control? Existe updateValue() pero debe establecer manualmente el valor en todos esos casos.

También hay un caso similar cuando actualiza las opciones del cuadro de selección después de la creación del formulario, mostrará un valor seleccionado en el cuadro seleccionado, mientras que el valor de control sería nulo, ¿alguna idea sobre cómo lidiar con esto?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

En Angular 2 Final (RC5+) hay nuevas API para actualizar los valores del formulario. El método API patchValue() admite actualizaciones de formularios parciales, donde solo necesitamos especificar algunos de los campos:

 this.form.patchValue({id: selected.id})

También existe el método API setValue() que necesita un objeto con todos los campos del formulario. Si falta un campo, obtendremos un error.

over 4 years ago · Santiago Trujillo Denunciar

0

Actualizar

a partir de la última actualización de la sintaxis angular2 será así

 this.form.controls['power'].setValue('anthing here');
over 4 years ago · Santiago Trujillo Denunciar

0

Actualmente, esto es lo único que puede hacer (como se menciona en la pregunta)

 this.form.controls['power'].updateValue(null);

Hay un problema abierto para permitir restablecer un formulario https://github.com/angular/angular/issues/4933

También hay una solicitud de extracción, pero eso también le permite hacerlo "manualmente" para cada control, pero también permite restablecer estados como prístino, tocado, ... https://github.com/angular/angular/pull/6679

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda