2017-02-27 71 views
1

我想在選擇菜單中填充userIds列表。這很好。在第二步中,我想要預先選擇一個特定的用戶。當我用selectUsers : string = "16"(16是現有的userId)初始化變量selectUsers時,我發現它的工作原理。但實際上,在現實中我還沒有選擇應該選擇的用戶標識符。我想在ngOnInit()方法中分配它。我試過this.selectUsers = "17",但似乎被忽略了。只有初始值似乎要數。預先選擇動態下拉菜單中的項目

<ion-select [(ngModel)]="selectUsers" name="users" required> 
    <ion-option *ngFor="let userId of userIds" [selected]="(userId == selectUsers) ? 'true' : 'false'">{{userId}}</ion-option> 
</ion-select> 

回答

0

要設置truefalse以將其作爲一個字符串文字,總是會truthy單引號。所以[selected]總是如此,無論條件如何。

嘗試:

<ion-select [(ngModel)]="selectUsers" name="users" required> 
    <ion-option *ngFor="let userId of userIds" [value]="userId" [selected]="(userId == selectUsers) ? true : false">{{userId}}</ion-option> 
</ion-select> 

或者:

<ion-select [(ngModel)]="selectUsers" name="users" required> 
     <ion-option *ngFor="let userId of userIds" [value]="userId" [selected]="(userId == selectUsers)">{{userId}}</ion-option> 
    </ion-select> 
+0

感謝。我改變了這一點。也許這是我的代碼中的第二個錯誤。但我仍然有問題,我不能分配例如:'this.selectUsers =「17」' –

+0

你可以做'this.selectUsers = this.userIds [index]'。 –

0

預先選擇一個選項,選擇的值賦給屬性ngModel勢必:

[(ngModel)]="userId" (ngModelChange)="selectUsers = $event" 
+0

謝謝,但你可以更具體..我必須在* .ts與我想要選擇的userId分配哪個變量。 –

+0

您用來創建''元素('userIds')的數組中的項目之一 –

相關問題