更新记录

1.0.0(2025-04-08)

新增

  • 新增浮动面板组件
  • 支持自定义面板高度
  • 支持多个锚点定位
  • 支持内容区域拖拽
  • 支持底部安全区适配
  • 支持滚动锁定
  • 支持最小/最大高度限制
  • 支持平滑的动画过渡效果

优化

  • 优化拖拽体验
  • 优化动画效果
  • 优化文档展示

平台兼容性

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

scory-floatingPanel 浮动面板组件

组件介绍

FloatingPanel 是一个可拖拽的浮动面板组件,支持自定义高度、锚点定位、安全区适配等功能。常用于移动端底部弹出层、抽屉等场景。

功能特性

  • 支持自定义面板高度
  • 支持多个锚点定位
  • 支持内容区域拖拽
  • 支持底部安全区适配
  • 支持滚动锁定
  • 支持最小/最大高度限制
  • 平滑的动画过渡效果

示例展示

静态效果图

静态效果

动态效果图

拖拽效果

动态效果图

拖拽效果

属性说明

属性名 类型 默认值 说明
height number| string 0 面板高度
anchors number[] [] 锚点高度数组
duration number| string 0.3 动画持续时间
contentDraggable boolean true 内容是否可拖动
lockScroll boolean false 是否锁定滚动
safeAreaInsetBottom boolean true 是否开启底部安全区适配
minHeight number 100 最小高度
maxHeight number 500 最大高度

事件

事件名 说明 回调参数
heightChange 面板高度变化时触发 height: number
update:height 面板高度更新时触发 height: number

使用示例

<template>
  <floating-panel
    :height="300"
    :anchors="[100, 300, 500]"
    :min-height="100"
    :max-height="500"
    @heightChange="onHeightChange"
  >
    <div>面板内容</div>
  </floating-panel>
</template>

<script setup>
const onHeightChange = (height) => {
  console.log('面板高度变化:', height)
}
</script>

注意事项

  1. 组件默认开启底部安全区适配,可通过 safeAreaInsetBottom 属性关闭
  2. 拖拽时会自动吸附到最近的锚点位置
  3. 超出最小/最大高度限制时会有阻尼效果
  4. 建议设置合适的锚点值以获得更好的用户体验

隐私、权限声明

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

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

插件不采集任何数据

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

暂无用户评论。

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