刷新页面后(刷新只是将事件数组设置为[],然后重新提取要再次显示在屏幕上的数据),事件组件仍然显示,但对触摸的响应变得不敏感,例如事件卡上的任何按钮均无法使用,并且您无法在其上左右滑动。当应用首次启动时,您可以与按钮进行交互。
每次刷新后都会出现此问题,但是在我浏览屏幕上的其他选项卡并返回到事件选项卡后,也会发生此问题。
这只是偶尔发生,但我认为必须注意。
我试图通过在事件卡的父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);
}
预期:刷新后,按钮应该是交互式的。
实际:刷新后,按钮不具有交互性。
答案 0 :(得分:0)