首页 > 解决方案 > iOS 上带有 Firestore 的 Ionic 5 在新数据上向上滚动

问题描述

我正在使用snapshotChanges()[Angular Firestore] 监听 Firestore 的更改,并据此显示和隐藏一些数据。

Everthing 在 Android 和 Chrome 上按预期工作,但在 Safari/iOS(真实设备、浏览器和模拟器)上,每次更改视图时,如果我之前在页面上向下滚动,它将向上滚动。

<section *ngIf="!showl" style="margin-bottom: 120px; margin-top: 250px;">
   <div *ngIf="dvid" style="z-index: -100;">
      <div *ngFor="let telemetria of telemetrias">

        <ion-card mode="ios" (click)="openIceSetting();">
        </ion-card>

        <ion-card *ngIf="telemetria.estado != '0' && telemetria.estado != '1'">
        </ion-card>

       <ion-card *ngIf="telemetria.estado != '0' && telemetria.estado != '1' && telemetria.estado != '2'">
       </ion-card>

     </div>
   </div>
</section>

我不确定这是否是 Ionic 错误,或者是否有人以前遇到过这种情况。

另外,我删除了里面的所有卡片和组件*ngFor,只显示了纯数据,效果很好,它不会向上滚动:

<section *ngIf="!showl" style="margin-bottom: 120px; margin-top: 250px;">
   <div *ngIf="dvid" style="z-index: -100;">
      <div *ngFor="let telemetria of telemetrias">

         <h1>telemetria.estado </h1>
         <h1>telemetria.estado </h1>
         <h1>telemetria.estado </h1>
         <h1>telemetria.estado </h1>
         <h1>telemetria.estado </h1>
         <h1>telemetria.estado </h1>
         <h1>telemetria.estado </h1>
         <h1>telemetria.estado </h1>
         <h1>telemetria.estado </h1>

     </div>
   </div>
</section>

标签: angularionic-frameworkionic5

解决方案


我已经在这里报告了这个。对我来说,这是一个错误。但是,对于任何面临这个问题的人,我已经使用trackByFn修复了它。


推荐阅读