跳到内容

usePointerSwipe

分类
导出大小
1.24 kB
上次更改
5 天前

基于 PointerEvents 的响应式滑动检测。

演示

滑动

用法

vue
<script setup>
import { usePointerSwipe } from '@vueuse/core'
import { useTemplateRef } from 'vue'

const el = useTemplateRef('el')
const { isSwiping, direction } = usePointerSwipe(el)
</script>

<template>
  <div ref="el">
    Swipe here
  </div>
</template>

类型声明

显示类型声明
typescript
export interface UsePointerSwipeOptions {
  /**
   * @default 50
   */
  threshold?: number
  /**
   * Callback on swipe start.
   */
  onSwipeStart?: (e: PointerEvent) => void
  /**
   * Callback on swipe move.
   */
  onSwipe?: (e: PointerEvent) => void
  /**
   * Callback on swipe end.
   */
  onSwipeEnd?: (e: PointerEvent, direction: UseSwipeDirection) => void
  /**
   * Pointer types to listen to.
   *
   * @default ['mouse', 'touch', 'pen']
   */
  pointerTypes?: PointerType[]
  /**
   * Disable text selection on swipe.
   *
   * @default false
   */
  disableTextSelect?: boolean
}
export interface UsePointerSwipeReturn {
  readonly isSwiping: ShallowRef<boolean>
  direction: Readonly<ShallowRef<UseSwipeDirection>>
  readonly posStart: Position
  readonly posEnd: Position
  distanceX: Readonly<ComputedRef<number>>
  distanceY: Readonly<ComputedRef<number>>
  stop: () => void
}
/**
 * Reactive swipe detection based on PointerEvents.
 *
 * @see https://vueuse.org.cn/usePointerSwipe
 * @param target
 * @param options
 */
export declare function usePointerSwipe(
  target: MaybeRefOrGetter<HTMLElement | null | undefined>,
  options?: UsePointerSwipeOptions,
): UsePointerSwipeReturn

源代码

源代码演示文档

贡献者

Anthony Fu
IlyaL
Anthony Fu
Jeffrey Li
Fernando Fernández
Mohammad Amin Mokhtari
Alexey Istomin
丶远方
Curt Grimes
sun0day
Jelf
wheat
MinatoHikari
Ilya Komichev
lstoeferle

更新日志

v12.8.0 on 3/5/2025
7432f - feat(types): 弃用 MaybeRefMaybeRefOrGetter,转而使用 Vue 原生的 (#4636)
v12.4.0 on 1/10/2025
dd316 - feat: 尽可能在所有地方使用被动事件处理程序 (#4477)
v12.0.0-beta.1 on 11/21/2024
0a9ed - feat!: 放弃 Vue 2 支持,优化包并清理代码 (#4349)
v10.7.0 on 12/5/2023
fd67b - feat: 添加 disableTextSelect 选项 (#3604)
v10.0.0-beta.4 on 4/13/2023
4d757 - feat(types)!: 将 MaybeComputedRef 重命名为 MaybeRefOrGetter
10e98 - feat(toRef)!: 将 resolveRef 重命名为 toRef
v10.0.0-beta.0 on 3/14/2023
f285c - fix(useSwipe)!: 滑动方向使用字面量而不是枚举
08c21 - feat(useSwipe, usePointerSwipe, useTransition): 改进 tree-shaking (#2863)

在 MIT 许可证下发布。