I got a “Kompetenzbereich” in my “note”-Object and i want the ion-select to automatically select the right “Kompetenzbereich”.
<ion-item>
<ion-label position="stacked">Kompetenzbereich</ion-label>
<ion-select
multiple="false"
cancelText="Cancel"
okText="Ok"
[(ngModel)]="note.lntKompId"
>
<ion-select-option *ngFor="let komp of kompetenzbereiche" [value]="komp">
{{ komp.komBezeichnung }}
</ion-select-option>
</ion-select>
</ion-item>
Can you show us the part where you assign to note.lntKompId
?
1 Like
ngDoCheck() {
this.note = this.exchange.note;
}
The problem just appears with the <ion-select>
, with for example for a string or a date, it works fine.
<ion-item>
<ion-label
position="stacked">Testdatum</ion-label>
<ion-datetime
displayFormat="DD/MM/YYYY"
min="2015-09-01"
[(ngModel)]="note.lntTimestamp"
>
</ion-datetime>
</ion-item>
I asked for where you assign to note.lntKompId
, not note
. As you seem to be on the road to discovering out, the problem likely lies with JavaScript’s crappy fake OO “support” and the difficulty of comparing objects for equality. I can’t say much further without seeing a MCVE .
1 Like
rapropos:
lntKompId
this is a property of note i get from the backend. i don’t assign it explicit.
i implemented a compareWith
for my ion-select
, now if i click on the select, the value is selected, but not displayed from the beginning
Finally after a long time searching i found a solution on this post:
I have an ion-select that the selected value is coming from a sqlite database, meaning the value for [(ngModel)] is being populated async. In ionic v3 this would still work and would select the correct ion-option, with v4 it doesn’t. Is there any way to get this to work?
<ion-select [(ngModel)]="selectedCodeValue" name="selectCode" multiple="false"
(ionChange)="codeSelected()" required >
<ion-select-option *ngFor="let code of availableCodes" value="{{code.id}}">
{{cod…
The selectedText
Attribute in combination with a compareWith
Function did solve the problem.