diff --git a/packages/vant/src/swipe/Swipe.tsx b/packages/vant/src/swipe/Swipe.tsx index 93d9183c9..f2e181759 100644 --- a/packages/vant/src/swipe/Swipe.tsx +++ b/packages/vant/src/swipe/Swipe.tsx @@ -307,8 +307,15 @@ export default defineComponent({ touch.move(event); if (isCorrectDirection.value) { - preventDefault(event, props.stopPropagation); - move({ offset: delta.value }); + const isEdgeTouch = + !props.loop && + ((state.active === 0 && delta.value > 0) || + (state.active === count.value - 1 && delta.value < 0)); + + if (!isEdgeTouch) { + preventDefault(event, props.stopPropagation); + move({ offset: delta.value }); + } } } };