Ich habe ein Kombinationsfeld 2, das aktualisiert, wenn die Werte eines anderen Kombinationsfelds 1 ausgewählt werden. Dazu habe ich eine onChange()
Funktion verwendet. Aber wenn ich meine Objekte speichere und die Seite neu lade, werden nur die Werte von Kombinationsfeld 1 angezeigt. Ich denke das liegt daran, dass die Werte von Kombinationsfeld 1 in die Funktion onInit()
geladen werden, während das Kombinationsfeld 2 darauf wartet, dass die Methode onChange()
aufgerufen wird.
Gibt es eine Möglichkeit, die gespeicherten Werte auf Kombinationsfeld 2 zu laden? Hier ist mein Code (nur der relevante Teil, wenn anderer Code benötigt wird, werde ich es zur Verfügung stellen).Angular - laden Sie Werte auf Seite neu laden
Ansicht
<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>
Komponente
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;
});
}
}
In ngOnInit initialisieren Sie Combo2 mit dem gespeicherten Wert von Combo1 - 'this.comboSrv.getCombo2 (model.mycombo1)' – mchan