2017-05-22 2 views
0

Ich kann nicht herausfinden, dass, was ich falsch mache eigentlich will ich Wert von Dropdown in meiner Form ausgewählt werden. Ich bin mit Vorlage getrieben Form wie:Angular2 Wert nicht in Dropdown ausgewählt

<select class="form-control" id="role" 
             required 
             [(ngModel)]="user.role" name="role" 
             #role="ngModel"> 
           <option *ngFor="let user_role of user_roles" [ngValue]="user_role">{{user_role.display_name}}</option> 
           </select> 



this.user = new User(user_details.name,user_details.email,user_details.roles[0],user_details.is_confirmed,'','',user_details.image); 

dieser user_details.roles [0]:

[ 
    { 
    "id": 1, 
    "name": "admin", 
    "display": "Administrator", 
    "pivot": { 
     "user_id": 6, 
     "role_id": 1 
    } 
    } 
] 

Ich bin nicht in der Lage, um herauszufinden, was die Frage, warum der Wert nicht ausgewählt worden ist. Nach meiner Untersuchung bin ich sicher, dass dies auf "Pivot" -Objekt innerhalb [0] Schlüssel zurückzuführen ist, aber wie ich damit umgehen kann, versuchte ich ohne "Pivot" und es hat gut funktioniert.

+0

versuchen, '# role =" ngModel "' dies zu entfernen –

Antwort

0

Okay, von meinem POV würde ich einen Event für diesen Fall verwenden. Lassen Sie mich ein klassisches und einfaches Beispiel geben, und ich hoffe, dass Sie daraus auswählen können.

Angenommen, dies ist Ihr HTML-Abschnitt.

<select (change)="newValue($event)" class="" name=""> 
    <option value="val1">1</option> 
    <option value="val2">2</option> 
    <option value="val3">3</option> 
    <option value="val4">4</option> 
</select> 

und dann ist dies Ihre Typoskript-Abschnitt.

newValue(event: any){ 
    let value = event.target.value; 
    console.log(value); 
} 

Sie können diesen Wert dann auf die gewünschte zuweisen

this.user 

Objektschlüssel Attribut. Ich hoffe, ich habe dir geholfen.

Verwandte Themen