не может прокрутить до нижнего уровня при переключении кнопки в ионном режиме 3 - PullRequest
0 голосов
/ 30 ноября 2018

enter image description here

Здравствуйте, есть кнопка в элементе списка, как указано выше.На этом клике я показываю элементы списка ниже этого элемента.Я добавил код для прокрутки вниз, как только будет открыта расширенная кнопка для отображения элементов ниже, но, похоже, она не работает.

<ion-content>
.
.
.
<ion-list>
    <ion-item>
        <ion-row text-center>
            <ion-col>
              <button
              ion-button
              block icon-end
              (click)="toggleAccordion()"
                  >Advanced Search
                  <ion-icon name="arrow-down" [ngClass]="{'active': booleanAccordion}" ></ion-icon>
              </button>
            </ion-col>
        </ion-row>
    </ion-item>
</ion-list>
<ion-list *ngIf="booleanAccordion">
    <ion-item>
        <from-to-filter headerText="Table %"></from-to-filter>
    </ion-item>
</ion-list>
<ion-list *ngIf="booleanAccordion">
    <ion-item>
        <from-to-filter headerText="Depth %"></from-to-filter>
    </ion-item>
</ion-list>

import { Content } from 'ionic-angular';
@Component({
selector: 'page-search',
templateUrl: 'search.html',
})
export class SearchPage {
@ViewChild(Content) content: Content;
----
toggleAccordion() {
this.booleanAccordion = !this.booleanAccordion;
this.content.scrollToBottom();
}
---

1 Ответ

0 голосов
/ 30 ноября 2018

Иногда ионные события теряются в расписании цикла событий.Самый простой способ пройти через это - использовать setTimeout (даже если он немного уродлив).Попробуйте это:

toggleAccordion() {
   this.booleanAccordion = !this.booleanAccordion;
   setTimeout(() => this.content.scrollToBottom(), 100);
}

Вы также можете использовать ngZone, но это будет немного излишним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...