更新记录

0.0.4(2024-09-29) 下载此版本

  • fix: 修复vue2 app条件编译问题

0.0.3(2024-09-13) 下载此版本

  • feat: 兼容uniappx

0.0.2(2023-06-30) 下载此版本

  • fix: nvue缺少点击事件
查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.26 app-vue app-nvue app-uvue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × ×

lime-fab 浮动气泡

  • lime-fab 悬浮在页面边缘并可拖拽可点击的汽泡型悬浮按钮,自主吸附,兼容uniapp/uniappx(web,ios,安卓),vue2需要配置vue/composition-api

代码演示

基础用法

浮动气泡默认展示在右下角,并允许在 y 轴方向上下拖拽。

<l-fab @click="onClick" />
const onClick = () => {
    console.log('点击气泡')
};

自由拖拽和磁吸

允许 x 和 y 轴方向拖拽,吸附到 x 轴方向最近一边。

<l-fab
  axis="xy"
  magnetic="x"
  @change="onOffsetChange"
/>
const onOffsetChange = (offset) => {
    uni.showToast(offset[0] + '__' + offset[1]);
};

使用 v-model

  • offset为数值数组,offset[0]为x,offset[1]为y
  • vue3 使用 v-model:offset 控制位置。
  • vue2 使用 :offset.sync 控制位置。
// vue3
<l-fab v-model:offset="offset" axis="xy" />
// vue2
<l-fab :offset.sync="offset" axis="xy" />
 data() {
     return {
         // [x, y]
         offset: [200, 400]
     }
 }

查看示例

  • 导入后直接使用这个标签查看演示效果
<!-- // 代码位于 uni_modules/lime-fab/compoents/lime-fab -->
<lime-fab />

插件标签

  • 默认 l-fab 为 component
  • 默认 lime-fab 为 demo

关于vue2的使用方式

  • 插件使用了composition-api, 如果你希望在vue2中使用请按官方的教程vue-composition-api配置
  • 关键代码是: 在main.js中 在vue2部分加上这一段即可.
    // vue2
    import Vue from 'vue'
    import VueCompositionAPI from '@vue/composition-api'
    Vue.use(VueCompositionAPI)

API

Props

参数 说明 类型 默认值
v-model:offset 控制气泡位置 number[] 默认右下角坐标
axis 拖拽的方向,xy 代表自由拖拽,lock 代表禁止拖拽 'x' | 'y' | 'xy' | 'lock' y
magnetic 自动磁吸的方向 'x' | 'y' -
gap 气泡与窗口的最小间距,单位为 px 'number' | 'string' 24

Events

事件 说明 回调参数
click 点击组件时触发 MouseEvent
change 由用户拖拽导致位置改变后触发 {x: string, y: string}

Slots

名称 说明
default 自定义气泡显示内容

主题定制

样式变量

  • nvue不支持 组件提供了下列 CSS 变量,可用于自定义样式
名称 默认值 描述
--l-fab-size 48px -
--l-fab-initial-gap 24px -
--l-fab-icon-size 28px -
--l-fab-background #1677ff -
--l-fab-color white -
--l-fab-z-index 999 -

隐私、权限声明

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

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

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

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问