更新记录

1.0.1(2026-01-30) 下载此版本

flx:滚动速度

1.0.0(2026-01-30) 下载此版本

初始化上传


平台兼容性

uni-app(4.87)

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

cl-draggableSheet 拖拽底部面板组件

支持拖拽、吸附点、受控高度、插槽自定义、事件通知与滚动锁定。

注意事项

  1. disablePageScroll 仅在 H5 生效,默认锁定 .navigate-page 容器。
  2. 使用吸附点时会自动补齐 minHeightmaxHeight
  3. v-model:height 为受控模式,外部更新会覆盖内部高度。

基础使用

<cl-draggableSheet
    :minHeight="220"
    :maxHeight="700"
    :initialHeight="320"
    @stateChange="onStateChange"
    @heightChange="onHeightChange"
>
    <view>内容区域</view>
</cl-draggableSheet>

吸附点

<cl-draggableSheet
    :minHeight="220"
    :maxHeight="700"
    :snapPoints="[220, 420, 700]"
    :initialIndex="1"
></cl-draggableSheet>

受控高度(v-model)

<cl-draggableSheet
    v-model:height="sheetHeight"
    :minHeight="220"
    :maxHeight="700"
></cl-draggableSheet>

自定义把手与标题区

<cl-draggableSheet :minHeight="220" :maxHeight="700">
    <template #handle>
        <view class="my-handle">可拖动</view>
    </template>
    <template #header>
        <view class="my-header">服务信息</view>
    </template>
    <view>内容区域</view>
</cl-draggableSheet>

禁用拖拽

<cl-draggableSheet :disabled="true"></cl-draggableSheet>

方法调用

<cl-draggableSheet ref="sheet"></cl-draggableSheet>

methods: {
    toMin() {
        this.$refs.sheet.toMin()
    },
    toMax() {
        this.$refs.sheet.toMax()
    },
    setHeight() {
        this.$refs.sheet.setHeight(420)
    }
}

API

参数 说明 类型 默认值 可选值
minHeight 最小高度(px) Number 200 -
maxHeight 最大高度(px) Number 700 -
initialHeight 初始高度(px) Number 0 -
height 受控高度(v-model) Number - -
snapPoints 吸附高度点(px) Array [] -
initialIndex 初始吸附索引 Number -1 -
velocityThreshold 快速滑动阈值(px/ms) Number 1.2 -
customClass 自定义样式类 String '' -
disablePageScroll 拖拽时是否禁用页面滚动(H5) Boolean true false
scrollLockSelector H5滚动锁定选择器 String '.navigate-page' -
draggable 是否允许拖拽 Boolean true false
disabled 禁用拖拽与交互 Boolean false true
safeAreaInsetBottom 内容包含底部安全区 Boolean false true

Events

事件名 说明 回调参数
heightChange 高度变化 height: number
update:height v-model 更新 height: number
stateChange 状态变化 state: 'min'|'max'
dragStart 开始拖拽 height: number
dragEnd 结束拖拽 height: number
reachMin 到达最小高度 height: number
reachMax 到达最大高度 height: number

Slots

插槽名 说明
handle 自定义拖拽把手区域
header 把手下方标题区域
default 内容区域

隐私、权限声明

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

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

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

许可协议

MIT协议

暂无用户评论。