我想在选择菜单中填充一个用户形式的列表。效果很好。在第二步中,我想预选特定的用户。我发现当我使用selectUsers : string = "16"
(16是现有用户ID)初始化变量选择器时,它可以工作。但是实际上,在现实中,我还没有选择的用户ID。我想在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>
要预选一个选项,将所选值分配给属性ngModel
绑定到:
[(ngModel)]="userId" (ngModelChange)="selectUsers = $event"
您正在用单个引号设置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>