在动态下拉菜单中预选项目

时间:2017-02-27 10:18:24

标签: angular ionic2

我想在选择菜单中填充userIds列表。那工作得很好。在第二步,我想预先选择一个特定的用户。当我用selectUsers : string = "16"(16是现有的userId)初始化变量selectUsers时,我发现它可以工作。但实际上,在现实中我还没有应该选择的userId。我想用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>

2 个答案:

答案 0 :(得分:0)

您使用单引号设置truefalse,该引号被视为字符串文字,并且始终是真实的。所以无论条件如何,[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>

答案 1 :(得分:0)

要预先选择一个选项,请将所选值分配给属于ngModel的属性:

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