Skip to content

useLongPress

@astryxdesign/core v0.7.1 · useLongPress

参数 ​

名称类型默认值说明
optionsLongPressOptions—配置对象。必填。
options.onLongPress(point: { x: number, y: number }) => void—按满 delayMs 之后触发,参数是按下时的坐标。必填。
options.disabledMaybeRefOrGetter<boolean>false为 true 时这次不检测,所以被禁用的触发器只要改这个值,不用重新注册。每次按下时读,写普通布尔值、ref 或 getter 都行。
options.isDisabledMaybeRefOrGetter<boolean>—同一个开关的另一个名字,任一为真就不检测。
options.delayMsnumber500要按住多少毫秒才算长按。
options.moveCancelPxnumber10任一轴上移动超过这个距离就取消,当作滚动或拖拽。

返回值 ​

名称类型说明
handlers{ onTouchStart, onTouchMove, onTouchEnd, onTouchCancel }四个触摸监听,直接摊到目标元素上,例如 <button v-on="press.handlers">。第二根手指、抬手、取消都会结束这次按住;移动超过 moveCancelPx 也一样。
start(point: { x: number, y: number }) => void从一个坐标开始检测。在 pointerdown 里调。它会先清掉上一次没完成的按住,再重新计时。
moveTo(point: { x: number, y: number }) => boolean报告指针的新位置。还在容差内返回 true;超出去就取消这次按住并返回 false。没有正在进行的按住时也返回 false。
cancel() => void丢掉还没完成的按住。绑在 pointerup 和 pointercancel 上。组件卸载时也会执行。