全部组件

MotionHold

长按以确认危险操作;提前松手会回退。

WebReact Native手势

动手试试

正在准备示例…

最简用法

Danger.jsx
<MotionHold duration={1200} onConfirm={deleteProject}>
  Hold to delete
</MotionHold>;

它替你处理的事

  • 按住指针、空格键或回车键时,填充会逐渐增长。
  • 提前松手会让填充回退,回退途中再次按下会从当前填充处继续。
  • 按住时按钮会下沉,确认时弹起一次。

适用场景

  • 删除项目。
  • 长按付款。
  • 重置设置。

Props

Prop类型默认值说明
childrenReactNode按钮的标签。
onConfirm() => void长按完成后运行一次。
durationnumber1200需要按住的毫秒数。
disabledbooleanfalse禁用按钮。
fillClassNamestring逐渐增长的填充的 class;fillStyle 设置其内联样式。

其他 props 会传给渲染的元素,所以 className、style 和事件处理函数照常可用。

Web 与 React Native

用 fillClassName 或 fillStyle 设置填充样式;其他 props 会传给 button。

在 React Native 上,无障碍的激活操作会直接确认,因为使用辅助技术时很难长按。

用到它的示例

搜索

输入关键词搜索文档。