页面刷新后页面上的事件组件变得无响应

时间:2019-08-06 03:41:00

标签: angularjs typescript ionic-framework ionic4

刷新页面后(刷新只是将事件数组设置为[],然后重新提取要再次显示在屏幕上的数据),事件组件仍然显示,但对触摸的响应变得不敏感,例如事件卡上的任何按钮均无法使用,并且您无法在其上左右滑动。当应用首次启动时,您可以与按钮进行交互。

每次刷新后都会出现此问题,但是在我浏览屏幕上的其他选项卡并返回到事件选项卡后,也会发生此问题。

  

这只是偶尔发生,但我认为必须注意。

我试图通过在事件卡的父div中添加*ngIf语句来重新加载组件,该语句检查事件数组是否为空。我认为这将迫使该组件重新加载,但是没有运气。

我还确保在获取更多数据之前,事件的数组首先等于[]。

我还确保刷新发生前后,事件数组填充的数据相同。

事件卡所在的HTML代码:

<div  class="cards" *ngFor="let event of events; index as i" class="final">
    <ion-item-sliding class="item-sliding">
        <ion-item-options class="item-options" side="start">
            <ion-item-option color="success" (click)="saveEvent(event.id)">Mark As Going</ion-item-option>
        </ion-item-options>
        <app-card *ngIf="event.eventDeleted != true" [id]="event.id"></app-card>
    </ion-item-sliding>
</div>

我的TS文件中有一些相关的全局变量:

limit: number = 5;
lastVisible: any;

此方法首先运行:

ngOnInit()  {
    this.fetchEvents();
}

我提取事件的方法:

fetchEvents() {
    this.fStore.collection('events').ref.limit(this.limit).get().then((events) => {
        this.lastVisible = events.docs[events.docs.length-1];
        this.events = events.docs
        console.log(this.events, "events")
    });
}

此刷新按钮后出现问题

doRefresh(event) {
    this.fetchEvents()
    setTimeout(() => {
        event.target.complete();
    }, 2000);
}    

预期:刷新后,按钮应该是交互式的。

实际:刷新后,按钮不具有交互性。

1 个答案:

答案 0 :(得分:0)

这听起来像ionic/issues/15486,基本上是:

  

从基础阵列中移除元素后,动态生成的离子-项目滑动变得无响应

问题声称该问题已在ionic@4.1.0中修复。您使用的是哪个版本?