From: underfin <2218301630@qq.com> Date: Mon, 11 May 2020 16:30:10 +0000 (+0800) Subject: fix(transition): should reset enter class after appear (#1152) X-Git-Tag: v3.0.0-beta.11~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=697de07e630c502db42e93e64ba556cc4599cbe4;p=thirdparty%2Fvuejs%2Fcore.git fix(transition): should reset enter class after appear (#1152) --- diff --git a/packages/runtime-dom/src/components/Transition.ts b/packages/runtime-dom/src/components/Transition.ts index 67c85d0052..c2d52dc020 100644 --- a/packages/runtime-dom/src/components/Transition.ts +++ b/packages/runtime-dom/src/components/Transition.ts @@ -77,6 +77,7 @@ export function resolveTransitionProps({ return baseProps } + const originEnterClass = [enterFromClass, enterActiveClass, enterToClass] const instance = getCurrentInstance()! const durations = normalizeDuration(duration) const enterDuration = durations && durations[0] @@ -84,7 +85,7 @@ export function resolveTransitionProps({ const { appear, onBeforeEnter, onEnter, onLeave } = baseProps // is appearing - if (appear && !getCurrentInstance()!.isMounted) { + if (appear && !instance.isMounted) { enterFromClass = appearFromClass enterActiveClass = appearActiveClass enterToClass = appearToClass @@ -96,6 +97,10 @@ export function resolveTransitionProps({ removeTransitionClass(el, enterToClass) removeTransitionClass(el, enterActiveClass) done && done() + // reset enter class + if (appear) { + ;[enterFromClass, enterActiveClass, enterToClass] = originEnterClass + } } const finishLeave: Hook = (el, done) => {