2017-03-24 6 views
0

Ich habe ein Problem eine ID von meiner Form zu bekommen.Angular2 Zugriffswert in dem Formular

this.myForm sieht wie folgt aus @Input() public myForm: FormGroup;

es ist eine Eingabe von einer anderen .ts

Datei

ist dies die Struktur der Form:
myForm
  - Vorname
  - Nachname
  - Email
  --Tags (FormArray)
    --- ID (Formulargruppe)

ich Zugriff auf die ID erhalten möchten und füllen mit all den Tags von einem Benutzer this.selectedTagList und das ist, was ich tun werde versuchen:

const control: FormArray = <FormArray>this.myForm.controls[ 'tags' ]; 
control.controls.forEach(tag=> { 
this.selectedTagList.push(this.tagList.find(tag.value.id)); 
}); 

wenn i console.log (this.myForm) ich erhalte diese Struktur:
this.myForm

console.log (Control.Controls), 'steuert' aus dem Code oben:
enter image description here

aber w Wenn ich console.log (control.controls.length) mache, bekomme ich 0. Oder wenn ich console.log (control.controls [0]) mache, werde ich undefiniert.

Ich habe keine Ahnung, wo die FormGroup Objekte ging oder warum es sagt Array [0] mit 4 FormGroup Objekte darin.

+1

könnten Sie mehr Code, bitte, wie die Formularerstellung Teil hinzufügen, würde es als ein Screenshot hilfreicher sein. – n00dl3

+0

Versuchen Sie das gleiche wie John sagte, was Sie haben, ist keine Nummer indizierten Array, aber Sie haben ein Objekt mit benannten Indizes (wie assoziative Array). https://www.w3schools.com/js/js_arrays.asp Gehen Sie zu "assoziative Array" und "Der Unterschied zwischen Arrays und Objekten" Abschnitte in der Verknüpfung über – Famble

Antwort

0

Versuchen console.log (this.myForm.controls [ 'id']);

0

den gleichen Versuchen wie John sagte, was Sie haben, ist keine Zahl indiziert Array, aber Sie haben ein Objekt mit dem Namen Indizes (wie assoziatives Array).

In JavaScript-Arrays verwenden nummeriert Indizes. In JavaScript verwenden Objekte benannte Indizes.Wobei Namensindizes mit assoziativem Array identisch sind.

Für weitere Informationen siehe: https://www.w3schools.com/js/js_arrays.asp

Verwandte Themen