确定是不是在 Ionic 2 中选中了复选框
Posted
技术标签:
【中文标题】确定是不是在 Ionic 2 中选中了复选框【英文标题】: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
)是一个有效的选项吗?我想这将是知道答案是否被选中的最简单方法(不仅在点击事件中)......如果这是一个有效的选项,我可以写一个答案来解释如何做到这一点。
【参考方案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>
【讨论】:
我更喜欢这种方法。它更稳定,更新时,一些事件监听器可能会改变。模型更稳定以上是关于确定是不是在 Ionic 2 中选中了复选框的主要内容,如果未能解决你的问题,请参考以下文章