ionic2如何获取复选框状态

时间:2016-12-27 22:34:00

标签: angular checkbox ionic2

这是上下文:

我有一个用户列表。

我还有一个项目列表,每个项目都包含一个用户数组。

项目列表显示如下:

  <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包含user1selected_useruser1,则其复选框显示为checked(我已经拥有)但现在如果item_b将检查1}}和item_c我想将user1添加到其用户数组中,如果取消选中item_a,我想从其用户数组中删除user1

这里有没有活动? 有没有办法在某些数据结构中将所有状态组合在一起,或者我必须为每个项目单独处理它?<​​/ p>

感谢。

1 个答案:

答案 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
}