diff --git a/packages/vant/src/overlay/Overlay.tsx b/packages/vant/src/overlay/Overlay.tsx
index 24f3d2f85..0e3536edc 100644
--- a/packages/vant/src/overlay/Overlay.tsx
+++ b/packages/vant/src/overlay/Overlay.tsx
@@ -54,6 +54,10 @@ export default defineComponent({
);
});
- return () => {renderOverlay()};
+ return () => (
+
+ {renderOverlay()}
+
+ );
},
});
diff --git a/packages/vant/src/utils/mount-component.ts b/packages/vant/src/utils/mount-component.ts
index f0cad1e60..dc8580b8c 100644
--- a/packages/vant/src/utils/mount-component.ts
+++ b/packages/vant/src/utils/mount-component.ts
@@ -1,4 +1,4 @@
-import { createApp, reactive, Component, nextTick } from 'vue';
+import { createApp, reactive, Component } from 'vue';
import { extend } from '../utils';
import { useExpose } from '../composables/use-expose';
@@ -15,14 +15,11 @@ export function usePopupState() {
};
const open = (props: Record) => {
- extend(state, props);
- // for transition
- nextTick(() => toggle(true));
+ extend(state, props, { transitionAppear: true });
+ toggle(true);
};
- const close = () => {
- nextTick(() => toggle(false));
- };
+ const close = () => toggle(false);
useExpose({ open, close, toggle });