Skip to content

Commit e8ae92f

Browse files
committed
fix: when displayDirective="show", should not run onEntering() and onEnter() if visible is false
1 parent fea7ebd commit e8ae92f

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

packages/vue-final-modal/src/components/CoreModal/useTransition.ts

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -81,15 +81,21 @@ export function useTransition(
8181
)
8282

8383
watch(contentState, (state) => {
84-
switch (state) {
85-
case TransitionState.Entering:
86-
return onEntering?.()
87-
case TransitionState.Enter:
88-
return onEnter?.()
89-
case TransitionState.Leaving:
90-
return onLeaving?.()
91-
case TransitionState.Leave:
92-
return onLeave?.()
84+
if (state === TransitionState.Entering) {
85+
if (!visible.value)
86+
return
87+
onEntering?.()
88+
}
89+
else if (state === TransitionState.Enter) {
90+
if (!visible.value)
91+
return
92+
onEnter?.()
93+
}
94+
else if (state === TransitionState.Leaving) {
95+
onLeaving?.()
96+
}
97+
else if (state === TransitionState.Leave) {
98+
onLeave?.()
9399
}
94100
})
95101

0 commit comments

Comments
 (0)