2017-04-17 2 views
2

Ich habe eine Komponente, die ein Modal ist, das eine Form und einige andere Variablen außerhalb dieser Form hat. Die Komponente ist so etwas wie dieses:Wie setze ich die Komponente zurück in den Anfangszustand in Angular 2

Die Komponente:

export class PersonComponent implements OnInit { 

countPerson: number=0; 
persons: Person [] = []; 

personForm : FormGroup; 

ngOnInit(){ 
    this.step1Form= this.fb.group({ 
    firstName: 'Levi', 
    lastName: 'Ackerman' 
    }); 
} 

submitPerson(person: Person){ 
    this.persons.push(person); 
    this.incrementPerson(); 
} 

incrementPerson(){ 
    this.count++; 
} 

} 

In der Vorlage:

<div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-body> 
     <label>First Name</label> 
     <input type="text" formControlName="firstName"> 
     <label>LastName Name</label> 
     <input type="text" formControlName="lastName"> 
     <button type="button" (click)="submitPerson()">Submit</button> 
     </div> 
    <div class="modal-footer"> 
     <button type="button" data-dismiss="modal">Close</button> 
    </div> 
    </div> 
</div> 

Ich möchte das Formular zum Zurücksetzen auf die Anfangswerte steuert zurück und auch die Variablen außerhalb gesetzt der Form zurück zum Anfangswert. Also möchte ich, dass die gesamte Komponente wieder in ihrem ursprünglichen Zustand ist. Ich möchte, dass die Komponente nach dem Schließen in den Anfangszustand zurückgesetzt wird.

+0

von wo Ihr Modal gestartet wird? – Aravind

+0

Das Modal wird durch eine Elternkomponente ausgelöst. Also das Modal ist eine Kind-Komponente – ilovejavaAJ

+0

versuchen Sie für eine Person bearbeiten Daten im modalen Fenster? – Aravind

Antwort

5

Wenn ein Formular auf Ihrem HTML ist (nicht in den mitgelieferten Schnipseln gezeigt) können Sie die Reset-Methode auf dem Formular: this.yourFormName.reset()

Das setzt die Form Zustand zurück zu unberührten und unverändert.

+0

wird das Zurücksetzen die gesamte Komponente oder nur das Formular zurücksetzen? Meine Komponente besteht aus einer Form und Variablen. Ich möchte, dass sowohl die Form als auch die Variablen der Komponente wieder auf Anfangswerte zurückgesetzt werden. – ilovejavaAJ

+0

Das wird das Formular zurücksetzen. Sie müssten Ihre eigenen Variablen selbst aktualisieren. – DeborahK

+0

In meinen Codebeispielen habe ich eine 'onSaveComplete()', die nach einem Speichervorgang ausgeführt wird. Es ruft die Reset-Methode auf und navigiert dann zurück zur Übersichts-/Listenseite. Sie können dies leicht ändern, um stattdessen alle Ihre Komponentenvariablen neu zu initialisieren. Sie können mein Codebeispiel hier sehen: https://github.com/DeborahK/Angular2-ReactiveForms/tree/master/APM-Updated – DeborahK

Verwandte Themen