2017-08-31 39 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功能了。否則,視圖不知道如何在頁面加載時初始化組合框。希望這個技巧可以幫助某人