2017-08-31 42 views
-2

我有一个组合框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

in ngOnInit使用combo1保存的值初始化combo2 - 'this.comboSrv.getCombo2(model.mycombo1)' – mchan

回答

0

我解决它让我combo2值在onInit功能了。否则,视图不知道如何在页面加载时初始化组合框。希望这个技巧可以帮助某人