更新记录
1.1.0(2025-05-12) 下载此版本
优化文档和部分代码
1.0.9(2024-11-05) 下载此版本
新增:ref实例close事件,可用于主动控制下拉框收缩
1.0.8(2023-11-23) 下载此版本
*修复:异步加载数据时,默认下标为0时无法选中
查看更多平台兼容性
uni-app
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | × | × | - | - | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ | - | √ | √ | √ | √ |
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| × | × | √ |
um-dropdown
下拉菜单
说明
um-dropdown 是基于uni-app生态的一款下拉菜单组件,可自定义文本框样式,列表类容支持数组,数组内可使用object类型
使用方法
符合uni-app的插件模块化规范配置,直接引用即可。
<template>
<view style="width: 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>
交流反馈
留言信息无法实时查看,如需及时交流和反馈可加入***:368365360

收藏人数:
下载插件并导入HBuilderX
下载示例项目ZIP
赞赏(10)
下载 1236
赞赏 10
下载 10633041
赞赏 1792
赞赏
京公网安备:11010802035340号