更新记录

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

新增关闭按钮

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

组件初始化


平台兼容性

uni-app(4.87)

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

uni-app x(3.7.0)

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

ResizableModal 组件使用文档

概述

resizable-modal 是一个可调整高度的模态框组件,支持触摸拖拽调整高度,适用于移动端场景。

功能特性

  • 可调整高度:通过拖拽顶部手柄调整模态框高度
  • 触摸支持:支持触摸事件,适用于移动端
  • 高度限制:可设置最小/最大高度限制
  • 响应式设计:支持大屏设备居中显示

Props 参数

参数 类型 默认值 说明
minHeight Number 200 模态框最小高度(单位:px)
maxHeight Number 800 模态框最大高度(单位:px)
defaultHeight Number 400 模态框默认初始高度(单位:px)
value Boolean false 控制模态框显示/隐藏

插槽

  • header:头部插槽,用于放置标题或其他头部内容
  • 默认插槽:内容插槽,用于放置模态框主体内容

使用示例

<template>
  <view>
    <button @click="showModal = true">打开模态框</button>

    <resizable-modal 
      v-model:value="showModal"
      :min-height="200"
      :max-height="600"
      :default-height="400"
    >
      <template #header>
        <text>标题</text>
      </template>
      <view>
        <text>这里是模态框内容</text>
      </view>
    </resizable-modal>
  </view>
</template>

<script>
import ResizableModal from '@/uni_modules/resizable-modal/components/resizable-modal/resizable-modal.vue';

export default {
  components: {
    ResizableModal
  },
  data() {
    return {
      showModal: false
    };
  }
};
</script>

样式说明

  • 定位:使用 position: fixed 固定在页面底部
  • 圆角:顶部左右角有 24rpx 圆角
  • 阴影:有轻微的上部阴影效果
  • 过渡动画:高度变化有 0.05s 的平滑过渡
  • 大屏适配:在屏幕宽度 ≥ 768px 时会居中显示

拖拽手柄

  • 位于模态框顶部,高度 60rpx
  • 有蓝色指示条(#3586FF)提示可拖拽
  • 鼠标悬停时显示 row-resize 光标样式

注意事项

  • 高度调整范围限制在 [minHeight, maxHeight] 之间
  • 内容区域使用 scroll-view 组件,支持内容滚动
  • 模态框使用 v-show 控制显示隐藏,不会销毁组件实例

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

暂无用户评论。