我有一个组合框2,当选择另一个组合框1的值时,它会更新。为此,我使用了onChange()
函数。但是当我保存对象并重新加载页面时,只显示组合框1的值。我认为这是因为组合框1的值被加载到onInit()
函数中,而组合框2则等待调用onChange()
方法。
有没有办法在组合框2上加载存储的值?这是我的代码(只有相关部分,如果需要其他代码,我会提供它)。
查看
<div>
<select (change)="onChange($event.target.value)" [ngModel]="model.mycombo1" name="mycombo1" id="mycombo1">
<option disabled hidden [value]="unusedValue">Scegli...</option>
<option *ngFor="let d of combo1" [value]="d.id">{{d.descrizione}}</option>
</select>
</div>
<div>
<select [ngModel]="model.mycombo2" name="mycombo2" id="mycombo2">
<option disabled hidden [value]="unusedValue">Scegli...</option>
<option *ngFor="let d of combo2" [value]="d.id">{{d.descrizione}}</option>
</select>
</div>
组件
export class InsertComponent implements OnInit {
combo1: Combo[];
combo2: Combo[];
constructor(private comboSrv: ComboService) { }
ngOnInit() {
this.comboSrv.getCombo1().then(dst => {
this.combo1 = dst;
});
}
onChange(idCombo1: number) {
this.comboSrv.getCombo2(idCombo1).then(dst => {
this.combo2= dst;
});
}
}
答案 0 :(得分:0)
我解决了它在combo2
函数中获取onInit
值的问题。否则视图不知道如何在页面加载时初始化组合框。希望这个技巧可以帮助别人。