【发布时间】:2017-03-24 20:14:00
【问题描述】:
我有一组tranTypes(事务类型),它们被加载到下拉列表中。用户选择一个值并在返回后导航到另一个组件后,下拉列表中未选择该值。
从其他阅读材料中,我了解到这是 b/c 对象不是同一个实例。那么在这种情况下我该怎么办呢?
<select name="tranType"
class="form-control"
[(ngModel)]="model.tranType"
required>
<option *ngFor="let tranType of tranTypes"
[ngValue]="tranType">{{tranType.desc}}</option>
</select>
解决方案
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);
}
【问题讨论】: