From 98ce810986405de6433d5cad0f8deb815e20c9b2 Mon Sep 17 00:00:00 2001 From: rex Date: Tue, 14 May 2019 11:14:50 +0800 Subject: [PATCH] =?UTF-8?q?[bugfix]=20Transition:=20=E4=BF=AE=E5=A4=8Dleav?= =?UTF-8?q?e=E9=98=B6=E6=AE=B5=E6=97=B6=E8=8A=82=E7=82=B9=E4=B8=8D?= =?UTF-8?q?=E6=B6=88=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #1565 --- packages/mixins/transition.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/mixins/transition.ts b/packages/mixins/transition.ts index ba908894..2e2f1785 100644 --- a/packages/mixins/transition.ts +++ b/packages/mixins/transition.ts @@ -7,7 +7,7 @@ const getClassNames = (name: string) => ({ 'leave-to': `van-${name}-leave-to van-${name}-leave-active leave-to-class leave-active-class` }); -const nextTick = () => new Promise(resolve => setTimeout(resolve, 1000 / 30)); +const nextTick = () => new Promise(resolve => setTimeout(resolve, 1000 / 20)); export const transition = function(showDefaultValue: boolean) { return Behavior({ @@ -84,11 +84,6 @@ export const transition = function(showDefaultValue: boolean) { const { classNames, duration } = this.data; const currentDuration = isObj(duration) ? duration.leave : duration; - if (+currentDuration === 0) { - this.onTransitionEnd(); - return; - } - Promise.resolve() .then(nextTick) .then(() => @@ -97,6 +92,7 @@ export const transition = function(showDefaultValue: boolean) { currentDuration }) ) + .then(() => setTimeout(() => this.onTransitionEnd(), currentDuration)) .then(nextTick) .then(() => this.set({