2017-11-30 2 views
1

Ist es möglich, den reaktiven Formen von Angular 2 ignorierbare Felder hinzuzufügen?Angular 2 Reactive Forms - Verwendung ignorierbarer Felder

Dinge zu vereinfachen, schauen Sie sich diese Form:

this.form = new FormGroup({ 
    subTasks: new FormArray([]), 
}); 

Jede Teilaufgabe wird durch den Benutzer gelöst werden und die Lösung wird im Inneren des FormArray gespeichert.

Jetzt, um den Text der verschiedenen Unteraufgaben anzuzeigen, fügte ich eine FormControl namens "Text" zu jeder Unteraufgabe hinzu. Aber wenn der Benutzer das Formular abschickt, möchte ich nicht, dass der Aufgabentext zusammen mit der Benutzereingabe an den Server gesendet wird.

Ich weiß, ich könnte es einfach nicht verwenden, oder entfernen Sie es programmatisch vor dem Einreichen, aber ich frage mich, ob es eine Möglichkeit gibt, es sauber zu machen. Vielen Dank!

+0

Sie befinden sich Übergeben von Formularwerten wie: this.form.getRawValue() –

+0

Nein, this.form.value – molerat

Antwort

2

Was Sie verwenden könnten, ist das Formularfeld text zu deaktivieren, was bedeutet, dass das Feld nicht in das Formularobjekt enthalten ist, aber Sie können es immer noch verwenden. Beispiel:

this.myForm = this.fb.group({ 
    text: [{value:'text value', disabled: true}], 
    somethingElse: ['something else'] 
}); 

und in Vorlage:

<form [formGroup]="myForm"> 
    <p>{{myForm.get('text').value}}</p> 
    <input formControlName="somethingElse"> 
</form> 

Wenn Sie das gesamte Formular Objekt inspizieren wollen, untauglich Felder enthalten sind, können Sie verwenden:

this.myForm.getRawValue(); 
+0

Perfekt, das ist genau das was ich gesucht habe. Vielen Dank. – molerat

+0

Großartig, froh zu hören! :) – Alex

Verwandte Themen