mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-11-08 15:51:16 +08:00
fix(refresher): properly dismiss refresher when completed synchronously (#20815)
fixes #20803
This commit is contained in:
committed by
Liam DeBeasi
parent
cdfd50b554
commit
b1a87c8892
@ -3,7 +3,7 @@ import { Component, ComponentInterface, Element, Event, EventEmitter, Host, Meth
|
||||
import { getTimeGivenProgression } from '../../';
|
||||
import { getIonMode } from '../../global/ionic-global';
|
||||
import { Animation, Gesture, GestureDetail, RefresherEventDetail } from '../../interface';
|
||||
import { clamp } from '../../utils/helpers';
|
||||
import { clamp, raf } from '../../utils/helpers';
|
||||
import { hapticImpact } from '../../utils/native/haptic';
|
||||
|
||||
import { createPullingAnimation, createSnapBackAnimation, getRefresherAnimationType, handleScrollWhilePulling, handleScrollWhileRefreshing, setSpinnerOpacity, shouldUseNativeRefresher, transitionEndAsync, translateElement } from './refresher.utils';
|
||||
@ -442,7 +442,7 @@ export class Refresher implements ComponentInterface {
|
||||
|
||||
// Do not reset scroll el until user removes pointer from screen
|
||||
if (!this.pointerDown) {
|
||||
this.resetNativeRefresher(this.elementToTransform, RefresherState.Completing);
|
||||
raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, RefresherState.Completing)));
|
||||
}
|
||||
} else {
|
||||
this.close(RefresherState.Completing, '120ms');
|
||||
@ -457,7 +457,7 @@ export class Refresher implements ComponentInterface {
|
||||
if (this.nativeRefresher) {
|
||||
// Do not reset scroll el until user removes pointer from screen
|
||||
if (!this.pointerDown) {
|
||||
this.resetNativeRefresher(this.elementToTransform, RefresherState.Cancelling);
|
||||
raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, RefresherState.Cancelling)));
|
||||
}
|
||||
} else {
|
||||
this.close(RefresherState.Cancelling, '');
|
||||
|
||||
Reference in New Issue
Block a user