From 9fd2bc636f7dd048d0c17b49e258691b25148d16 Mon Sep 17 00:00:00 2001 From: anlyyao Date: Fri, 7 Jun 2024 16:18:20 +0800 Subject: [PATCH] feat(Swiper): add two new informal event funs --- src/swiper/swiper.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/swiper/swiper.tsx b/src/swiper/swiper.tsx index 53d3ab2d9..ad6f146f7 100644 --- a/src/swiper/swiper.tsx +++ b/src/swiper/swiper.tsx @@ -17,7 +17,7 @@ const navName = `${prefix}-swiper-nav`; export default defineComponent({ name, props, - emits: ['change', 'update:current', 'update:modelValue'], + emits: ['change', 'update:current', 'update:modelValue', 'transitionenter', 'transitionleave'], setup(props, context) { const swiperClass = usePrefixClass('swiper'); const readerTNodeJSX = useTNodeJSX(); @@ -175,6 +175,14 @@ export default defineComponent({ startAutoplay(); }; + const onTransitionstart = (event: TransitionEvent) => { + context.emit('transitionenter', event); + }; + + const onTransitionend = (event: TransitionEvent) => { + context.emit('transitionleave', event); + }; + const addChild = (item: any) => { items.value.push(item); }; @@ -319,8 +327,10 @@ export default defineComponent({ transform: translateContainer.value, height: containerHeight.value, }} + onTransitionstart={onTransitionstart} onTransitionend={(event: TransitionEvent) => { if (event.target === event.currentTarget) { + onTransitionend(event); handleAnimationEnd(); } }}