拉动刷新奇怪的行为

Pull to refresh strange behaviour

我有以下代码

<div id="fincasMaestro" class="page-layout  fullwidth page-layout-app p-16"  fxFlex fxLayout="column"  [@animate]="{value:'*',params:{delay:'200ms',y:'100%'}}">

<!-- HEADER -->
<div id="loader" class="h2 text-center mt-4">Parcelas</div>

<mat-tab-group animationDuration="0ms">
    <mat-tab label="Activas"> <fincasactivas style="height: 100%"></fincasactivas> </mat-tab>
    <mat-tab label="Finalizadas"> <archivedfincas style="height: 100%"> </archivedfincas> </mat-tab>
</mat-tab-group>

并在 component.ts 内部初始化拉动刷新组件

const ptr = PullToRefresh.init({
mainElement: '#loader',
instructionsPullToRefresh: 'Arrastre hacia abajo para refrescar',
instructionsReleaseToRefresh: 'Suelte para refrescar',
instructionsRefreshing: 'Refrescando la página',
onRefresh() {
   window.location.reload();
    }
 });

如果我向上滑动,效果很好,但我有一个问题,我的 mat-tabs 中的组件是包含太多项目的列表,无法适应屏幕,所以我有一个滚动条,如果我转到底部页面,我尝试向上滚动页面刷新,即使我在底部

知道为什么会这样吗? -

以防万一,我使用的是 Angular7+ 和 cordova。

测试于 Android

编辑:我找到了答案

我找到了答案

        mainElement: '#loader',
        shouldPullToRefresh: () => {return document.getElementById('fincas').scrollTop === 0},
        onRefresh: () => {
                //onRefresh code 
            }
      });

使用 shouldPullToRefresh 和 属性 scrollTop 我们只能在滚动条在顶部时刷新,这样我们就可以从底部移动而不会误刷新