2016-09-20 6 views
6

I eine Winkel 2 app, wo ich Standardwerte für bestimmte Eingaben wie folgt festgelegt:Angular 2: Zurücksetzen Form ignoriert Anfangswert

this._stdSearchForm = this._formBuilder.group({ 
    count: [{value: 50, disabled: false}, Validators.compose([Validators.required, Validators.minLength(1), Validators.maxLength(3), Validators.pattern("^[0-9]+$")])] 
}); 

I inplemented haben eine "Reset" Funktion wie folgt aus:

(click)="resetStdSearchForm()" 

und dass gerade läuft:

this._stdSearchForm.reset(); 

, dass das Formular setzt, ignoriert aber den Anfangswert definiert im FormBu Bildergruppe.

Ist dieses Verhalten beabsichtigt?

Kann ich den Wert von "count" nach dem Zurücksetzen des Formulars programmatisch festlegen? Ich versuchte, dies zu tun:

this._stdSearchForm.value.count = 50; 

aber das änderte nichts.

Antwort

9

können Sie versuchen, die folgenden:

this._stdSearchForm.setValue({ count: 50}); 

oder Sie können das gleiche tun:

this._stdSearchForm.reset({ count: 50}); 

Die reset Methode setzt den FormGroup. Dies bedeutet, standardmäßig:

  • die Gruppe und alle Nachkommen sind unberührte markiert
  • Die Gruppe und alle Nachkommen sind
  • Der Wert aller Nachkommen werden unberührt markiert
+0

null oder null Karten sein ' setValue' funktioniert gut. Danke mein Herr! –

+0

Gern geschehen! – yurzui

Verwandte Themen