【问题标题】:Allow only one selection of check while other option disable in Ionic 3在 Ionic 3 中仅允许选择一项检查,而其他选项禁用
【发布时间】:2019-09-17 05:46:40
【问题描述】:

我一直在关注这个解决方案

How to get selected only single checkbox from multiple checkboxes using ionic 2 and angular2 它工作正常,但问题是

当我选中任何复选框时,另一个复选框被禁用(这是我想要的),但如果我取消选中同一个复选框,另一个复选框仍然处于禁用状态。取消选中复选框后如何启用它们?

这是我的代码 .ts 文件

export class list {
checkedIdx = -1;
}

.html 文件

<ion-card class="ion-card">
  <ion-item *ngFor="let item of options; let i=index">
    <ion-label>{{item}}</ion-label>
    <ion-checkbox item-left [ngModel]="checkedIdx == i"(ngModelChange)="$event ? checkedIdx = i : checkedIdx = -1" [disabled]="checkedIdx >= 0 && checkedIdx != i"></ion-checkbox>
  </ion-item>
</ion-card>

【问题讨论】:

    标签: angular typescript checkbox ionic3


    【解决方案1】:

    检查 WORKING STACKBLITZ

    一次只能选择一个复选框

    你的 component.html 应该是这样的:~

    <ion-card class="ion-card">
        <ion-item *ngFor="let category of categories; let i = index">
            <ion-label>{{category.name}}</ion-label>
            <ion-checkbox 
        [disabled]="categories[i].value" 
        (click)="selection(category.name);">
            </ion-checkbox>
        </ion-item>
    </ion-card>
    

    而你的 component.ts 可以是这样的:~

      selection(name: string) {
        this.categories.forEach(x => {
          if (x.name !== name) {
            x.value = !x.value
          }
        })
      }
    

    希望这有帮助!

    【讨论】:

    • 如何只在第二个复选框被按下时才禁用第一个复选框?
    猜你喜欢
    • 1970-01-01
    • 2014-07-12
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多