Skip to content

Float Button 浮动按钮

查看 sn-float-button 的 2.0 版本差异

基础用法

  • 固定定位的悬浮按钮,可用于悬浮操作入口、回到顶部等场景。
  • 支持八方位预设位置(position)、自由拖动与松手自动吸附至左右两侧(absorb)。
  • 通过 v-model 双向绑定按钮当前位置坐标,位置变化时同步触发 change 事件。
  • Web 端支持鼠标拖动,窗口尺寸变化时自动重新校正位置。
vue
<template>
	<sn-float-button icon="add-line" bg-color="$primary"></sn-float-button>
</template>

更多演示请下载 demo 查看

属性

参数说明类型默认值可选值
v-model按钮当前位置坐标,形如 [x, y]Array<Number>[0, 0]-
position预设位置(init 为 true 时初始化定位至此)Stringbottomtop-start | top | top-end | right | bottom-end | bottom | bottom-start | left
init是否在初始化时定位到 position 预设位置Booleantruetrue | false
absorb松手后是否自动吸附至左右两侧Booleantruetrue | false
disabled是否禁用(禁用后不可拖动、不响应点击)Booleanfalsetrue | false
bgColor背景颜色,支持 $ 简写String''(实际取 $front-
size按钮尺寸(宽高相同)String | Number60px-
icon内置图标名称String''-
iconColor图标颜色,支持 $ 简写,禁用时为禁用色String''(实际取 $text-
iconSize图标字体大小String | Number''(实际为 30 × fontsizeFactor px-
margin处于预设位置或吸附时与屏幕边缘的边距Number20-
borderRadius圆角大小String | Number''(实际为 12000 × radiusFactor px,即圆形)-
boxShadow阴影String0 0 15px -10px-
aniTime拖动松手 / 吸附时的过渡动画时长String | Number''(实际取 $snui.aniTimeLong-
customStyle根节点自定义样式UTSJSONObject | String''-

事件

名称类型说明
click(event: UniPointerEvent) => Void点击按钮时触发(禁用时不触发)
change(position: Array<Number>) => Void初始化定位或拖动结束时触发,携带当前位置坐标

插槽

名称说明
default替换按钮内部默认的图标

使用 MIT 协议