这是上下文:
我有一个用户列表。
我还有一个项目列表,每个项目都包含一个用户数组。
项目列表显示如下:
<ion-list>
<ion-item *ngFor="let item of items">
<ion-checkbox item-left [checked]="isChecked(item)" *ngIf="selected_user;"></ion-checkbox>
<ion-label>
{{ item.name }}
<br>
<ion-badge *ngFor="let user of item.users">{{ user.name }}</ion-badge>
</ion-label>
</ion-item>
</ion-list>
基本上,当在其他地方选择用户时,会显示复选框。
我要做的是根据复选框的状态修改其用户数组的每个项目。
例如,如果item_a.users
包含user1
且selected_user
为user1
,则其复选框显示为checked
(我已经拥有)但现在如果item_b
将检查1}}和item_c
我想将user1
添加到其用户数组中,如果取消选中item_a
,我想从其用户数组中删除user1
。
这里有没有活动? 有没有办法在某些数据结构中将所有状态组合在一起,或者我必须为每个项目单独处理它?</ p>
感谢。
答案 0 :(得分:2)
检查API文档here
您可以使用ionChange
事件。
在你的HTML中,
<ion-checkbox item-left [checked]="isChecked(item)" (ionChange)="insertUserToArray($event)" *ngIf="selected_user;"></ion-checkbox>
在组件添加功能中:
insertUserToArray(item){
//check item.user and do stuff
}