我想在选择菜单中填充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>
答案 0 :(得分:0)
您使用单引号设置true
和false
,该引号被视为字符串文字,并且始终是真实的。所以无论条件如何,[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"