Ionic:如果满足特定条件,则在事件处理程序中选中复选框
Ionic: Make checkbox checked in event handler if specific criteria are met
我有一个带有复选框的表单,对于某些复选框,以下内容适用:
当复选框被选中并被点击并且某些语句为真时,复选框不应取消选中,而是跳回到选中状态。
这是当前的 html:
<ion-item>
<ion-label stacked [innerHTML]="htmlString"></ion-label>
<ion-checkbox (click)="checkboxClick($event)"></ion-checkbox>
</ion-item>
这是当前的 .ts:
checkboxClick(e){
var statement = true;
if(statement){
e.target.checked = true;
}
}
这是一个展示问题的 stackblitz:https://stackblitz.com/edit/ionic-tcxd55?file=pages%2Fhome%2Fhome.ts
我不明白 stackblitz 与你的问题有什么关系,但我看到你拼错了 "target":
if(statement){
e.target.checked = true;
}
使用 (ionChange) 而不是 (click)
html
<ion-checkbox (ionChange)="checkboxClick($event)" checked></ion-checkbox>
ts
checkboxClick(e){
var statement = true;
if(statement){
e.checked = true;
}
}
下面对我有用
HTML:
<ion-item>
<ion-label>Enable Face Plotting (More Processor intensive)</ion-label>
<ion-checkbox color="danger" checked="{{facePlottingOption}}" (ionChange)="checkboxFacePlotting($event)">
</ion-checkbox>
</ion-item>
.TS 文件:
export class TabCapturePage {
facePlottingOption: boolean = false;
public checkboxFacePlotting(e) {
if (e.currentTarget.checked) {
console.log("=========FACE PLOTTING ENABLED");
this.facePlottingOption = true;
} else {
console.log("=========FACE PLOTTING DISABLED");
this.facePlottingOption = false;
}
}
}
我有一个带有复选框的表单,对于某些复选框,以下内容适用:
当复选框被选中并被点击并且某些语句为真时,复选框不应取消选中,而是跳回到选中状态。
这是当前的 html:
<ion-item>
<ion-label stacked [innerHTML]="htmlString"></ion-label>
<ion-checkbox (click)="checkboxClick($event)"></ion-checkbox>
</ion-item>
这是当前的 .ts:
checkboxClick(e){
var statement = true;
if(statement){
e.target.checked = true;
}
}
这是一个展示问题的 stackblitz:https://stackblitz.com/edit/ionic-tcxd55?file=pages%2Fhome%2Fhome.ts
我不明白 stackblitz 与你的问题有什么关系,但我看到你拼错了 "target":
if(statement){
e.target.checked = true;
}
使用 (ionChange) 而不是 (click)
html
<ion-checkbox (ionChange)="checkboxClick($event)" checked></ion-checkbox>
ts
checkboxClick(e){
var statement = true;
if(statement){
e.checked = true;
}
}
下面对我有用
HTML:
<ion-item>
<ion-label>Enable Face Plotting (More Processor intensive)</ion-label>
<ion-checkbox color="danger" checked="{{facePlottingOption}}" (ionChange)="checkboxFacePlotting($event)">
</ion-checkbox>
</ion-item>
.TS 文件:
export class TabCapturePage {
facePlottingOption: boolean = false;
public checkboxFacePlotting(e) {
if (e.currentTarget.checked) {
console.log("=========FACE PLOTTING ENABLED");
this.facePlottingOption = true;
} else {
console.log("=========FACE PLOTTING DISABLED");
this.facePlottingOption = false;
}
}
}