Ионическое событие щелчка, чтобы открыть аккордеон, требует двойного щелчка на значке - PullRequest
0 голосов
/ 24 декабря 2018

Я начал работать над ionic пару месяцев назад, и мне очень трудно реализовать список аккордеонов.

Я хочу открыть подкатегории, когда нажата основная категория. Я хочу сделатьэто в один клик, но для открытия списка требуется двойной щелчок.

это мой HTML:

<div *ngFor="let d of SubCategories">
<div class="accordion" (click)="abcd(d)">   //Here is click I assigned to open the sublist
<ion-item>
    <ion-label>{{d.name}}</ion-label>
    <ion-checkbox [ngModel]="pepperoni"></ion-checkbox>
  </ion-item>
</div>

<div class="panel">
<ion-item *ngFor="let e of SubCategories1"> 
    <ion-label>{{e.name}}</ion-label>
    <ion-checkbox [ngModel]="pepperoni"></ion-checkbox>
</ion-item>
</div>
</div>

мой файл машинописи:

abcd(data){
    console.log(data.id);
    this.abcde = data.id;
    this.CatAndSubCat1();
    var acc = document.getElementsByClassName("accordion");
    var i;
    for (i = 0; i < acc.length; i++) {
        acc[i].addEventListener("click", function() {        //this assigns a click again which opens the list after than.so the sub list opens after 2 clicks
            this.classList.toggle("active");
            var panel = this.nextElementSibling;
            if (panel.style.maxHeight){
                panel.style.maxHeight = null;
            } else {
                panel.style.maxHeight = panel.scrollHeight + "px";
            }
        });
    }
}

Я хочуОткрыть подсписок в один клик.

Заранее спасибо.

1 Ответ

0 голосов
/ 24 декабря 2018

Это открытая проблема с самой Ionic Framework, и есть доступные исправления, но я не уверен, исправит ли она вашу проблему или нет.Давайте попробуем.

  1. Добавить (нажать) вместо (щелкнуть) или
  2. Добавить приведенный ниже класс в свой файл SCSS

    .input-обложка {дисплей: нет;}

...