diff --git a/packages/vant/src/popover/Popover.tsx b/packages/vant/src/popover/Popover.tsx index 6301e6a58..39682aab8 100644 --- a/packages/vant/src/popover/Popover.tsx +++ b/packages/vant/src/popover/Popover.tsx @@ -17,6 +17,7 @@ import { Instance, createPopper, offsetModifier } from '@vant/popperjs'; import { pick, extend, + inBrowser, truthProp, numericProp, unknownProp, @@ -137,6 +138,10 @@ export default defineComponent({ if (!popper) { popper = createPopperInstance(); + if (inBrowser) { + window.addEventListener('animationend', updateLocation); + window.addEventListener('transitionend', updateLocation); + } } else { popper.setOptions(getPopoverOptions()); } @@ -217,6 +222,10 @@ export default defineComponent({ onBeforeUnmount(() => { if (popper) { + if (inBrowser) { + window.removeEventListener('animationend', updateLocation); + window.removeEventListener('transitionend', updateLocation); + } popper.destroy(); popper = null; }