更新记录
1.0.0(2025-04-08)
新增
- 新增浮动面板组件
- 支持自定义面板高度
- 支持多个锚点定位
- 支持内容区域拖拽
- 支持底部安全区适配
- 支持滚动锁定
- 支持最小/最大高度限制
- 支持平滑的动画过渡效果
优化
平台兼容性
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>
注意事项
- 组件默认开启底部安全区适配,可通过
safeAreaInsetBottom
属性关闭
- 拖拽时会自动吸附到最近的锚点位置
- 超出最小/最大高度限制时会有阻尼效果
- 建议设置合适的锚点值以获得更好的用户体验