更新记录

1.0.9(2024-11-05) 下载此版本

新增:ref实例close事件,可用于主动控制下拉框收缩

1.0.8(2023-11-23) 下载此版本

*修复:异步加载数据时,默认下标为0时无法选中

1.0.7(2023-10-09) 下载此版本

*修复:异步加载数据时,默认下标下标为0时无法选中

查看更多

平台兼容性

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

um-dropdown

下拉菜单

说明

um-dropdown 是基于uni-app生态的一款下拉菜单组件,可自定义文本框样式,列表类容支持数组,数组内可使用object类型

使用方法

符合uni-app的插件模块化规范配置,直接引用即可。

<template>
    <view style="width: 100px;height: 100px;">

        <um-dropdown @change="fnChange" rangeKey="label" :optionList="listData" selectedItemStyle="color:2973F8;"></um-dropdown>

    </view>
</template>
<script>
    export default {
        data() {
            return {
                optionVal: '', // 选中列表的值
                listData: [ // 列表数据
                    {
                        label: '北京',
                        value: '1',
                    },
                    {
                        label: '上海',
                        value: '2',
                    },
                    {
                        label: '重庆',
                        value: '3',
                    },
                    {
                        label: '成都',
                        value: '4',
                    }
                ]
            }
        },

        methods: {
            // 列表选中时触发事件,带出选中的值
            fnChange(e) {
                this.optionVal = e
            }
        }
    }
</script>

Props

属性名 说明 类型
optionList 菜单列表数据 Array
rangeKey 如果数据中包含对象时,需要显示的key值 String
listHeight 列表高度,设置后列表可以滑动(默认展示所有数据) String
defaultIndex 默认选中的下标 String,Number
width 菜单宽度(默认继承父元素width) String
height 菜单高度(默认继承父元素height) String
listStyle 自定义列表样式 String,Object
itemStyle 自定义菜单样式 String,Object
selectedItemStyle 菜单选中时的样式 String,Object

Events

属性名 说明
change 列表点击事件,值发生改变时触发
click 菜单点击事件 Events
openNull 菜单点击事件,列表为空时触发 Events

ref实例可调用事件

属性名 说明 类型
close 列表关闭事件 Events

平台差异

平台 说明
H5 点击组件外部区域列表会自动收起
微信小程序 点击组件外部区域,列表不会自动收起
其他 问题待测,持续更新中

其它说明

关于点击插件外部区域主动收缩下拉框的问题: H5环境下是支持的,其它平台因为缺少相关事件所以暂无解决方案。 最新版中添加了ref实例close事件,可用于主动控制下拉框收缩。 在有多个下拉框的情况下,点击其中一个下拉框可以调用close事件主动关闭其它下拉菜单。 还有就是采用遮罩的方案,经过尝试并不那么完美,期待后续能解决。

<template>
    <view>
        <um-dropdown ref="men1" @click="closeMenue2"></um-dropdown>
        <um-dropdown ref="men2" @click="closeMenue1"></um-dropdown>
    </view>
</template>
<script>
    export default {
        methods: {
            // 关闭第一个菜单
            closeMenue1() {
                this.$refs.men1.close()
            },
            // 关闭第二个菜单
            closeMenue2() {
                this.$refs.men2.close()
            }
        }
    }
</script>

交流反馈

留言信息无法实时查看,如需及时交流和反馈可加入QQ群:368365360

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

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