【问题标题】:Determining if checkbox is checked in Ionic 2确定是否在 Ionic 2 中选中了复选框
【发布时间】:2017-03-12 17:53:57
【问题描述】:

如何确定是否在 Ionic 2 中选中了 ion-checkbox。

   <ion-item *ngFor="let a of q.Answers">
      <ion-label>{{a.AnswerDescription}}</ion-label>
      <ion-checkbox (click)="addValue($event)"></ion-checkbox>
   </ion-item>

以下返回undefined

 addValue(e): void {
     var isChecked = e.currentTarget.checked;
     console.log(isChecked);//undefined

 }

【问题讨论】:

  • 您应该检查a.checked 是否为true,因为它是ytou 绑定到输入的模型。
  • 使用普通的 HTML 复选框就可以了。但我不确定ion control
  • Answers 数组的每个元素都有一个名为 checked 的属性吗?
  • 不,我试过了。我编辑了帖子并删除了 ngModel。
  • 向每个Answers 元素添加一个布尔属性(可能类似于selected)是一个有效的选项吗?我想这将是知道答案是否被选中的最简单方法(不仅在点击事件中)......如果这是一个有效的选项,我可以写一个答案来解释如何做到这一点。

标签: angular checkbox ionic2


【解决方案1】:

如果您真的想将 $event 作为参数传递,请使用 e.checked 属性,如下所示。

HTML

<ion-checkbox color="dark" checked="true" (ionChange)="datachanged($event)" ></ion-checkbox>

类型脚本

datachanged(e:any){
    console.log(e);
    console.log(e.checked);
}

【讨论】:

  • 在 Ionic 3 中,当我将“(ionChange)”替换为“(click)”时,它才起作用
【解决方案2】:

只需使用 NgModel

<ion-checkbox checked="false" [(ngModel)]="yourVariable.checked"></ion-checkbox>

【讨论】:

  • 我更喜欢这种方法。它更稳定,更新时,一些事件监听器可能会改变。模型更稳定
猜你喜欢
  • 2017-05-04
  • 2011-04-18
  • 2011-06-12
  • 2015-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多