Ich habe ein Array von tranTypes
(Transaktionstypen), die in ein Dropdown geladen werden. Nachdem der Benutzer einen Wert ausgewählt hat und zu einer anderen Komponente navigiert, wird der Wert im Drop-down-Menü nicht ausgewählt.Setzen des Anfangswerts mit ngModel für Select-Dropdown
Aus anderen Lesungen habe ich gelernt, das ist B/C die Objekte sind nicht die gleiche Instanz. Was mache ich dann in dieser Situation?
<select name="tranType"
class="form-control"
[(ngModel)]="model.tranType"
required>
<option *ngFor="let tranType of tranTypes"
[ngValue]="tranType">{{tranType.desc}}</option>
</select>
Lösung
ngOnInit(): void {
this.myService.getTranTypes()
.subscribe(tranTypes => {
this.tranTypes = tranTypes;
//set value of tranType if already set in the model
if (this.myService.model.tranType != undefined) {
this.myService.model.tranType = this.tranTypes.find(r => r.id == this.myService.model.tranType.id);
}
},
error => this.errorMessage = <any>error);
}