2016-06-23 3 views
2

Ich habe gerade die Anwendung aktualisiert, ich arbeite an der neuesten Version von Angular 2 (rc3), Router & Forms (0.1.1). Ich versuche nun, die Formulare in die neueste Bibliothek zu konvertieren & Best Practices. Ich benutze Angular IO docs um zu versuchen, dies zu vervollständigen.Wie erhalte ich Steuerelemente in Unterkomponenten, die in einem übergeordneten Formular erkannt werden? (angular2 rc3)

Ich kann die Form zu arbeiten, wenn ich so etwas tun:

<form #form="ngForm"> 
    <input type="text" name="firstName" [(ngModel)]="model.firstName" required /> 
</form> 

Aber ich habe meine Form mehrere Komponenten aufzuschlüsseln in - es gibt 4 Abschnitte auf der Seite, so habe ich eine Komponente der jeweils Abschnitt, und jeder Abschnitt hat irgendwo zwischen 5-10 Eingabefelder verschiedener Typen. im Wesentlichen

So ist mein Code:

<form #form="ngForm"> 
    <section-1 [(model)]="model"></section-1> 
    <section-2 [(model)]="model"></section-2> 

    <button type="submit">Submit</button> 
</form> 

Aber die Form nicht hinzufügen, die Steuerelemente von untergeordneten Komponenten in die Steuerungsliste des Formulars. Was ist der beste Weg, dies zu tun? Ich könnte ein Formular in jede Unterkomponente schreiben, das seinen eigenen gültigen Zustand verfolgt und den Elternteil verwendet, um die 4 verschiedenen gültigen Zustände "manuell" zu verwalten, aber es scheint, dass es einen besseren Weg geben sollte.

Danke,

Dan

+0

Hallo Dan, hast du das aus? – HankCa

Antwort

0

Sie eine Modellvariable in Elternteil haben kann Ihr Kind Komponente darstellen, die mehrere Felder aufweisen kann, dann wird das Kind Komponente starten als eine Form Kontrolle in Mutterform handeln nach Es implementiert ordnungsgemäß die ControlValueAccessor-Schnittstelle, die Angular 2 darüber informiert, wie Werte zwischen Modell und Ansicht propagiert werden. Suchen Sie nach dem dritten Beispiel in here

Verwandte Themen