更新记录

1.0.0(2026-09-28) 下载此版本

  • 首次发布
  • 悬浮球支持拖拽、左右自动吸边
  • 点击扇形展开子按钮,个数与图标(emoji/文字/图片)可自定义
  • 靠近屏幕上/下边缘自动调整展开方向,子按钮不飞出屏幕
  • 闲置数秒主球自动半透明,减少遮挡
  • H5 桌面端适配鼠标拖拽,其余端使用 touch 事件
  • 兼容 Vue2 / Vue3,支持 H5、微信小程序、App(vue)

平台兼容性

uni-app(3.8.4)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
√ √ √ √ √ √ √ √ √
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
√ √ √ √ √ √ √ √ √ - √ √

uni-app x(3.8.4)

Chrome Safari Android iOS 鸿蒙 微信小程序
√ √ √ √ √ √

float-button 可拖拽吸边悬浮球组件

仿 iPhone AssistiveTouch(小圆点)的 uni-app 悬浮球组件:

  • 🖱 拖拽 + 吸边:手指拖动自由移动,松手自动吸附左右边缘
  • 📖 扇形展开:点击主球弹出子按钮扇形菜单,自动根据吸边方向调整开口,避免飞出屏幕
  • 🔧 高自定义:子按钮个数(1~N 任意)、图标支持 emoji / 文字 / 图片路径
  • 🌗 闲置淡化:无操作数秒后主球自动半透明(iOS 效果),减少遮挡
  • 🧩 全端兼容:纯 view + touch 事件实现,无第三方依赖(H5 桌面端额外适配鼠标拖拽)

平台支持

端 支持 说明
H5 ✅ 移动端 touch + 桌面端鼠标拖拽
微信小程序 ✅
App (vue) ✅
其他小程序 / nvue ⚠️ 理论兼容,未逐一实测(issue 反馈)
Vue2 / Vue3 ✅ options API,双版本兼容

快速上手

组件符合 easycom 规范,放入 uni_modules 即可直接使用,无需 import:

<template>
    <view>
        <dev-float-button :buttons="buttons" @select="" />
    </view>
</template>

<script>
    export default {
        data() {
            return {
                buttons: [
                    { icon: '🏠', iconType: 'text' },
                    { icon: '❤️', iconType: 'text' },
                    { icon: '/static/cart.png', iconType: 'image' }
                ]
            }
        },
        methods: {
            ({ item, index }) {
                console.log('点击了第', index + 1, '个按钮', item)
            }
        }
    }
</script>

示例页:uni_modules/dev-float-button/pages/float-button-demo/float-button-demo,把该路径注册到项目的 pages.json 即可运行体验。

Props

属性 类型 默认值 说明
buttons Array [] 子按钮列表,每项 { icon, iconType },个数不限
icon String '☰' 主按钮图标(emoji/文字 或 图片路径)
iconType String 'text' 主按钮图标类型:text | image
size Number 52 主按钮直径(px)
subSize Number 42 子按钮直径(px)
radius Number 82 扇形展开半径(px)
edge Number 10 吸边后距屏幕边缘间距(px)
position Object null 初始位置 { x, y },不传则按 anchor 定位
anchor String 'right' 初始吸附侧:left | right
idleDelay Number 3 闲置多少秒后主球半透明,0 关闭
draggable Boolean true 是否允许拖拽

Events

事件 回调参数 说明
select { item, index } 点击某个子按钮后触发,并自动收起菜单

交互说明

  • 点击主球:展开 / 收起扇形菜单;点击屏幕任意空白:收起
  • 拖拽主球:自由移动,松手吸附最近的一侧边缘;拖拽中自动收起菜单
  • 靠近屏幕上/下边缘时,扇形会自动整体向内侧偏移,保证子按钮不飞出屏幕
  • 子按钮 iconType: 'image' 时 icon 为图片路径(本地 / 网络图均支持)

License

MIT

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

许可协议

MIT协议

暂无用户评论。