2016-12-12 2 views
0

mit Formbuilder I 2 Komponente Formular erstellen, eine andereangular2 Wiederverwendung formular Komponente in einem anderen

Was muss ich in Vorlage verwendet wird, und führen Sie sie in die Parentformbuilder, wie kann ich das erreichen?

So ist mein Pseudo-Code so etwas wie dieses

component:childForm 
template: <inputA> <inputB> 
class: formbuilder.group(inputA+inputB) 

und jetzt in meinem Ich brauche dies wie dies in meinem tempalte wiederzuverwenden:

component:parentForm 
template: <childForm> <inputC> <inputD> 
class: formbuilder.group(inputC+inputD+new group.childForm) 

Mag ich meine neu erstellen müssen nicht in inputA und inputB weil my bereits hier ist und jetzt kann ich die Gültigkeit meines elterForm.valid prüfen, um alle Eingaben zu überprüfen?

Ich weiß nur nicht, wie das geht? ein echtes Beispiel? mit echtem code onyl mit einem bitte?

Antwort

0

Ich habe diese:

private inheritControls(target: FormGroup, source: FormGroup) { 
    Object.keys(source.controls) 
     .map(name => target.addControl(name, source.controls[name])); 
    } 

mit:

@ViewChild(FormGeneralComponent) general: any; 
    @ViewChild(FormDatabaseComponent) database: any; 
    @ViewChild(FormUsersComponent) users: any; 

    this.inheritControls(this.setupForm, this.general.generalForm); 
    this.inheritControls(this.setupForm, this.database.databaseForm); 
    this.inheritControls(this.setupForm, this.users.usersForm); 

könnte ein wenig "schmutzig", aber es funktioniert ...

+0

Dank, ja litle bisschen schmutzig, wenn jemand besser bitte lass mich wissen, was der beste Weg ist, dies zu tun – Eee

Verwandte Themen