Skip to content

Gesture 手势

扩展插件

本组件属于扩展插件,非框架内置,可根据需求自行下载

下载地址:https://ext.dcloud.net.cn/plugin?name=sn-e-gesture


  • sn-e-gesture 是 SinleUI 框架的手势库核心组件。

  • 主要集成了一些 App 端原生手势事件(非 uni 内置事件),以便开发使用。

vue
<template>
	<sn-e-gesture
			@scale="nativeGestureScaleEvent" 
			@click="nativeGesturePointerEvent"
			@longpress="nativeGestureTouchEvent" 
			@dbclick="nativeGesturePointerEvent" 
			@touchstart="nativeGestureTouchEvent"
			@touchmove="nativeGestureTouchEvent" 
			@touchend="nativeGestureTouchEvent" 
			@touchcancel="nativeGestureTouchEvent"
			@down="nativeGesturePointerEvent" 
			@showpress="nativeGestureTouchEvent" 
			@fling="nativeGestureFlingEvent"> 
    	<view></view>
  </sn-e-gesture>
</template>

兼容性

WebAndroid
×

事件

由于不同插件之间的类型冲突,sn-e-gesture 的事件均返回为 UTSJSONObject 对象,但其数据结构与对应的类型相同,将其作为 UTSJSONObject 对象使用即可。见下。

名称类型说明
click(event: UTSJSONObject) => void点击事件(event 结构同 SnPointerEvent
longpress(event: UTSJSONObject) => void长按事件(event 结构同 SnTouchEvent
dbclick(event: UTSJSONObject) => void双击事件(event 结构同 SnPointerEvent
touchstart(event: UTSJSONObject) => void手指落下事件(event 结构同 SnTouchEvent
touchmove(event: UTSJSONObject) => void手指移动事件(event 结构同 SnTouchEvent
touchend(event: UTSJSONObject) => void手指抬起事件(event 结构同 SnTouchEvent
touchcancel(event: UTSJSONObject) => void触摸打断事件(event 结构同 SnTouchEvent
down(event: UTSJSONObject) => void按下事件(event 结构同 SnPointerEvent
fling(event: UTSJSONObject) => void滑动事件(event 结构同 SnFlingEvent
scale(event: UTSJSONObject) => void双指缩放事件(event 结构同 SnScaleEvent

注意

由于此组件监听原生事件,所以事件返回值都没有 event 属性,因此不支持阻止默认事件、阻止冒泡。

如需实现此效果,可包裹一层 view,在这个 view 上阻止默认事件、冒泡。

插槽

名称说明
default放置子组件

使用 MIT 协议