Убедитесь, что ионный флажок установлен в Ionic - PullRequest
2 голосов
/ 02 ноября 2019

У меня есть список флажков, мне нужно определить, когда хотя бы один из этих элементов проверен для включения кнопки.

Пока мне удалось это сделать, но он не работает сevent.target.checked, просто ничего не происходит, я тоже просто пробовал event.checked и ничего.

<ion-list>
   <ion-item *ngFor="let option of question.options">
      <ion-label>{{option}}</ion-label>
      <ion-checkbox color="secondary" value="option" (click)="isChecked($event)" name="option"></ion-checkbox>
   </ion-item>
</ion-list>

file.ts:

isChecked(event) {
  if ( event.target.checked ) {
    console.log("Checked!");
    this.btnDisabled = false;
 }
}

Ионная версия: 3.9.5

Угловой 5

Ответы [ 2 ]

2 голосов
/ 02 ноября 2019

Попробуйте так:

Рабочая демоверсия

Шаблон:

<ion-list>
   <ion-item *ngFor="let option of question.options">
      <ion-label>{{option}}</ion-label>
      <ion-checkbox color="secondary" value="option" (click)="onChange(option)" name="option"></ion-checkbox>
   </ion-item>
</ion-list>

<button [disabled]="checkedItems.length <1 ">Save </button>

TS:

 checkedItems = []


 onChange(item) {
    if(this.checkedItems.includes(item)) {
      this.checkedItems = this.checkedItems.filter((value)=>value!=item);

    } else {
      this.checkedItems.push(item)
    }
  }
1 голос
/ 02 ноября 2019

Вместо ionChange вместо click и event.checked вместо event.target.checked.

<ion-checkbox color="secondary" value="option" (ionChange)="isChecked($event)" name="option"></ion-checkbox>

isChecked(event) {
  if ( event.checked ) {
    this.btnDisabled = false;
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...