Ich habe ein Formular, das von einer Hauptperson ausgefüllt werden muss, und er kann auch das Formular für seinen Ehepartner und Kinder ausfüllen. (Picture of the form) Es funktionierte gut bis die Kinderanforderung.Dynamische Kontrollen in Objekt Typoskript
Ich habe dieses Modell:
export class RequestForm{
model = {
main: { apellido: "", nombre: "", documento: "", sexo: "", fechaNacimiento: "", localidad: "", calle: 0, piso: 0, depto: 0, edificio: 0, telefono: "", celular: "", mail: "" },
spouse: { apellido: "", nombre: "", documento: "", sexo: "", fechaNacimiento: "", localidad: "", calle: 0, piso: 0, depto: 0, edificio: 0, telefono: "", celular: "", mail: "" },
children: [{ apellido: "", nombre: "", documento: "", sexo: "", fechaNacimiento: "", localidad: "", calle: 0, piso: 0, depto: 0, edificio: 0, telefono: "", celular: "", mail: "" }]
};
dann, wenn die Schaltfläche Fertig Formular geklickt wird, diese Funktion aufgerufen wird:
finish() {
this.model.main= {
apellido: this.titularApellido.value, nombre: this.titularNombre.value, documento: this.titularDocumento.value
, sexo: this.titularSexo.value, fechaNacimiento: this.titularFechaNacimiento.value, localidad: this.titularLocalidad.value
, calle: this.titularCalle.value, piso: this.titularPiso.value, depto: this.titularDepto.value, edificio: this.titularEdificio.value
, telefono: this.titularTelefono.value, celular: this.titularCelular.value, mail: this.titularMail.value
};
this.model.spouse = {
apellido: this.conyugeApellido.value, nombre: this.conyugeNombre.value, documento: this.conyugeDocumento.value
, sexo: this.conyugeSexo.value, fechaNacimiento: this.conyugeFechaNacimiento.value, localidad: this.titularLocalidad.value
, calle: this.titularCalle.value, piso: this.titularPiso.value, depto: this.titularDepto.value, edificio: this.titularEdificio.value
, telefono: this.conyugeTelefono.value, celular: this.conyugeCelular.value, mail: this.conyugeMail.value
};
this.persistPerson(this.model.main);
this.persistPerson(this.model.spouse);
}
Ich weiß nicht wirklich, wie die Kinder steuert dynamisch zu machen und dann in der Zielfunktion gebunden sein. Es gibt eine Eingabeeigenschaft ngModel, aber wenn ich sie hinzufüge, bricht die Kontrolle ab.
Danke
PD. Ich habe dies gemacht, um die Kontrollen zu wiederholen, aber ich kann keine ID zu den Kontrollen setzen, also verliere ich die Referenz. Als ich das tat, waren Kinder ein Array und + und - Taste drückt und Entfernen von Objekten aus dem Array
<ul style="list-style-type:decimal">
<li *ngFor="let child of children" style="display:list-item">
<table>
<tr>
<td>
<md-input textoLabel="Apellido" type="text" [disabled]="esModoVisualizacion()"
placeholder="Apellido"
style="width:130px;"></md-input>
</td>
<td>
<md-input ..
.
.
</table>
</li>
</ul>
Ihre 'Finish'-Funktion sieht wie ein Albtraum aus: DI schlagen vor, Sie https://angular.io/docs/ts/latest/guide/forms.html zu betrachten Sie können das Objekt verwenden, das von dem Formular erstellt wird um die Formulardaten zu verarbeiten, anstatt die große Menge an Variablen zu verwenden, die Sie jetzt verwenden.Das ist mein Vorschlag :) – Alex