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

917
Vistas
¿Cómo borrar el formulario después de enviar en Angular 2?

Tengo un componente angular 2 simple con plantilla. ¿Cómo borrar el formulario y todos los campos después de enviar? No puedo recargar la página. Después de establecer los datos con date.setValue('') , todavía se touched .

 import {Component} from 'angular2/core'; import {FORM_DIRECTIVES, FormBuilder, ControlGroup, Validators, Control} from 'angular2/common'; @Component({ selector: 'loading-form', templateUrl: 'app/loadings/loading-form.component.html', directives: [FORM_DIRECTIVES] }) export class LoadingFormComponent { private form:ControlGroup; private date:Control; private capacity:Control; constructor(private _loadingsService:LoadingsService, fb:FormBuilder) { this.date = new Control('', Validators.required); this.capacity = new Control('', Validators.required); this.form = fb.group({ 'date': this.date, 'capacity': this.capacity }); } onSubmit(value:any):void { //send some data to backend } }

loading-form.component.html

 <div class="card card-block"> <h3 class="card-title">Loading form</h3> <form (ngSubmit)="onSubmit(form.value)" [ngFormModel]="form"> <fieldset class="form-group" [class.has-danger]="!date.valid && date.touched"> <label class="form-control-label" for="dateInput">Date</label> <input type="text" class="form-control form-control-danger form-control-success" id="dateInput" min="0" placeholder="Enter loading date" [ngFormControl]="form.controls['date']"> </fieldset> <fieldset class="form-group" [class.has-danger]="!capacity.valid && capacity.touched"> <label class="form-control-label" for="capacityInput">Capacity</label> <input type="number" class="form-control form-control-danger form-control-success" id="capacityInput" placeholder="Enter capacity" [ngFormControl]="form.controls['capacity']"> </fieldset> <button type="submit" class="btn btn-primary" [disabled]="!form.valid">Submit </button> </form> </div>
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Ver también https://angular.io/docs/ts/latest/guide/reactive-forms.html (sección "restablecer las banderas de formulario")

>=RC.6

En RC.6 se debe soportar actualizar el modelo de formulario. Creación de un nuevo grupo de formularios y asignación a myForm

 [formGroup]="myForm"

también será compatible ( https://github.com/angular/angular/pull/11051#issuecomment-243483654 )

>=RC.5

 form.reset();

En el nuevo módulo de formularios (>= RC.5) NgForm tiene un método reset() y también admite un evento de reset de formularios. https://github.com/angular/angular/blob/6fd5bc075d70879c487c0188f6cd5b148e72a4dd/modules/%40angular/forms/src/directives/ng_form.ts#L179

<=RC.3

Esto funcionará:

 onSubmit(value:any):void { //send some data to backend for(var name in form.controls) { (<Control>form.controls[name]).updateValue(''); /*(<FormControl>form.controls[name]).updateValue('');*/ this should work in RC4 if `Control` is not working, working same in my case form.controls[name].setErrors(null); } }

Ver también

  • https://github.com/angular/angular/issues/6196
  • https://github.com/angular/angular/issues/6169
  • https://github.com/angular/angular/issues/4933
  • https://github.com/angular/angular/issues/4914
  • https://github.com/angular/angular/issues/6371
over 4 years ago · Santiago Trujillo Denunciar

0

A partir de Angular2 RC5, myFormGroup.reset() parece funcionar.

over 4 years ago · Santiago Trujillo Denunciar

0

Para restablecer su formulario después de enviarlo, simplemente puede invocar this.form.reset() . Al llamar a reset() hará lo siguiente:

  1. Marque el control y los controles secundarios como prístinos .
  2. Marque el control y los controles secundarios como intactos .
  3. Establezca el valor de control y controles secundarios en valor personalizado o nulo .
  4. Actualizar valor/vigencia/errores de afectados.

Encuentre esta solicitud de extracción para obtener una respuesta detallada. FYI, este PR ya se ha fusionado con 2.0.0.

Espero que esto pueda ser útil y avíseme si tiene alguna otra pregunta con respecto a los formularios Angular2.

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