Skip to content

useSwipe

Category
Export Size
1.02 kB
Last Changed
6 months ago

Reactive swipe detection based on TouchEvents.

Demo

Swipe right

Direction: none
lengthX: 0 | lengthY: 0

Usage

vue
<script setup lang="ts">
import { 
useSwipe
} from '@vueuse/core'
import {
useTemplateRef
} from 'vue'
const
el
=
useTemplateRef
('el')
const {
isSwiping
,
direction
} =
useSwipe
(
el
)
</script> <template> <
div
ref
="
el
">
Swipe here </
div
>
</template>

Type Declarations

Show Type Declarations
ts
export type 
UseSwipeDirection
= "up" | "down" | "left" | "right" | "none"
export interface UseSwipeOptions extends ConfigurableWindow { /** * Register events as passive * * @default true */
passive
?: boolean
/** * @default 50 */
threshold
?: number
/** * Callback on swipe start */
onSwipeStart
?: (
e
: TouchEvent) => void
/** * Callback on swipe moves */
onSwipe
?: (
e
: TouchEvent) => void
/** * Callback on swipe ends */
onSwipeEnd
?: (
e
: TouchEvent,
direction
:
UseSwipeDirection
) => void
} export interface UseSwipeReturn { /** * @deprecated No longer need this Vue 3's browser targets all supporting passive event listeners. * * This flag will always return `true` and be removed in the next major version. */
isPassiveEventSupported
: boolean
isSwiping
:
ShallowRef
<boolean>
direction
:
ComputedRef
<
UseSwipeDirection
>
coordsStart
:
Readonly
<
Position
>
coordsEnd
:
Readonly
<
Position
>
lengthX
:
ComputedRef
<number>
lengthY
:
ComputedRef
<number>
stop
: () => void
} /** * Reactive swipe detection. * * @see https://vueuse.org/useSwipe * @param target * @param options */ export declare function
useSwipe
(
target
:
MaybeRefOrGetter
<EventTarget | null | undefined>,
options
?: UseSwipeOptions,
): UseSwipeReturn

Source

SourceDemoDocs

Contributors

Anthony Fu
IlyaL
Anthony Fu
丶远方
Amirreza Zarkesh
lstoeferle
SerKo
Fernando Fernández
Alexey Istomin
Jelf
云游君
Shinigami
Alex Kozack

Changelog

v12.8.0 on
7432f - feat(types): deprecate MaybeRef and MaybeRefOrGetter in favor of Vue's native (#4636)
v12.4.0 on
dd316 - feat: use passive event handlers everywhere is possible (#4477)
v12.0.0-beta.1 on
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
v11.3.0 on
1bb54 - fix: allow vertical scrolling during swipe (#4323)
v10.7.0 on
fccf2 - feat: upgrade deps (#3614)
v10.1.0 on
af3ca - fix: ignore multiple touches (#2996)
995aa - fix: ignore multiple touches (#2994)
v10.0.0-beta.4 on
4d757 - feat(types)!: rename MaybeComputedRef to MaybeRefOrGetter

Released under the MIT License.

Join the Biggest FREE AI-Driven Development Event for Vue Developers
Save My Seat