我有一个加载到下拉列表中的tranTypes
(事务类型)数组。用户选择一个值并在返回时导航到另一个组件后,在下拉列表中未选择该值。使用ngModel设置初始值用于选择下拉菜单
从其他阅读中,我了解到这是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);
}