【发布时间】:2020-09-03 03:19:53
【问题描述】:
如何在ionic-select-option中预选多个选项?
NgModel 和 select 在 Ionic 5 中不再适用,因此之前的所有解决方案都不再适用
我从 api 获得了一系列用户最喜欢的食物,
用户的 FavFood 数据 (userFavFoods)
[
'apple', 'pear'
]
我有一个离子选择元素,它需要显示用户最喜欢的食物,并且应该预先选择它,以便他们可以取消选择它并发送用户更新的最喜欢的食物。这一切都在 NgForm 中。
Fav Foods html
<form #form="ngForm" (ngSubmit)="submitFavFood(form)" novalidate>
<ion-select multiple="true" cancelText="Cancel" okText="Ok" required="true" #food="ngModel" name="foods" placeholder="0 Items" ngModel>
<ion-select-option *ngFor="let foods of userFavFoods"
value="{{ foods }}">
{{ foods }}
</ion-select-option>
</ion-select>
</form>
其他解决方案 Ionic 4 pre select ion-select-option 不适用于 Ionic 5,因为不支持 NgModel 和 Selected。
似乎有使用 [compareWith]="compareWith" 的解决方案,这些不适用于多个部分选项。
一个激进的解决方案是用复选框和离子文本替换 ,这意味着我可以以编程方式设置选中的值。
通过检查 html,似乎 aria-checked=true 时单击按钮,但将其添加到不做任何事情。
有谁知道在 Ionic 5 中是否或如何预先选择具有多个值的离子选择选项?
编辑 似乎离子选择文档有一个预选值的例子
<ion-item>
<ion-label>Pets</ion-label>
<ion-select multiple="true" [value]="['bird', 'dog']">
<ion-select-option value="bird">Bird</ion-select-option>
<ion-select-option value="cat">Cat</ion-select-option>
<ion-select-option value="dog">Dog</ion-select-option>
<ion-select-option value="honeybadger">Honey Badger</ion-select-option>
</ion-select>
</ion-item>
编辑编辑
请看下面我的回答
【问题讨论】:
标签: html angular ionic-framework angular9 ionic5