Ionic 离子:如果符合特定条件,则在事件处理程序中选中复选框

jc3wubiy  于 2022-12-08  发布在  Ionic
关注(0)|答案(3)|浏览(124)

我有一个带有复选框的表单,对于某些复选框,以下内容适用:
当一个复选框被选中并被点击,并且某些语句为真时,该复选框不应被取消选中,而是跳回到选中状态。
这是当前的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;
    }
  }

下面是一个堆栈 lightning 战,展示了这个问题:https://stackblitz.com/edit/ionic-tcxd55?file=pages%2Fhome%2Fhome.ts

bwleehnv

bwleehnv1#

使用(ionChange)代替(click)
超文本标记语言

<ion-checkbox (ionChange)="checkboxClick($event)" checked></ion-checkbox>

时间

checkboxClick(e){
    var statement = true;
    if(statement){
      e.checked = true;
    }
  }
nimxete2

nimxete22#

以下对我有用
于飞:

<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;
    }
  }
}
hts6caw3

hts6caw33#

我不明白堆栈 lightning 战和你的问题有什么关系,但我看到你拼错了“目标”:

if(statement){
    e.target.checked = true;
    }

相关问题