更新记录

1.0.0(2025-08-24) 下载此版本

1、下拉选择框,支持uni-app、uni-app x

2、支持搜索、删除、上拉、下拉

3、支持最大高度设置、选择框、下拉内容字体大小设置、单位rpx适配大多数屏幕

4、支持自定义下拉内容


平台兼容性

uni-app(4.15)

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

uni-app x(4.41)

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

其他

多语言 暗黑模式 宽屏模式
× ×

写在最前面

小伙伴在使用过程中遇到任何问题或发现功能不足的地方,欢迎随时留言反馈,您的宝贵意见将帮助我持续完善插件功能,在此衷心感谢您的支持与帮助!

sjx-drop-down

一款开箱即用的uni-modules解决方案,无需手动引用即可在页面中直接调用,显著提升开发效率。

插件支持双向滑动选择(上拉/下拉)、删除操作及禁用状态,通过max-height属性精准控制下拉框最大高度,采用rpx单位实现多屏幕完美适配。

引入textField和valueField双属性配置,支持任意对象字段映射,彻底摆脱数据格式限制。

允许开发者通过插槽完全自定义下拉内容,文字大小、组件尺寸均可动态调整,轻松融入项目UI体系。

Props

字段 类型 默认值 可选值 功能描述 更新时间
localData Array [] ~ 数据源 2025-08-24
textField String text ~ text字段名 2025-08-24
valueField String value ~ value字段名 2025-08-24
value [String,Number] '' ~ 动态绑定值 2025-08-24
placeHolder String 请输入内容 ~ 搜索提示 2025-08-24
filterField String text ~ 使用该字段过滤 2025-08-24
maxHeight Number 300 ~ 单位rpx 2025-08-24
isSingleLine Boolean true true|false 是否单行显示 2025-08-24
inputFontSize Number 32 ~ 选择框文字大小,单位rpx 2025-08-24
selectorFontSize Number 32 ~ 下拉框内容文字大小 2025-08-24
isShowLine Boolean true true|false 下拉内容是否显示分隔线 2025-08-24
isShowBottom Boolean true true|false true:向下;false:向上 2025-08-24
isSelf Boolean false true|false 是否使用自定义样式 2025-08-24
disabled Boolean true true|false 是否禁用 2025-08-24
isShowSearch Boolean true true|false 是否显示搜索框 2025-08-24

Events

事件名 默认值 功能描述 更新时间
change ~ 下拉选项点击事件,提供参数text、value、item对象 2025-08-24

代码演示

下拉框

<template>
    <view class="content">
        <sjx-drop-down :local-data="arrData" textField="name" @change="change" filterField="name" :value="currentV">
        </sjx-drop-down>
    </view>
</template>

export default {
    data() {
        return {
            arrData: [],
            currentV: '444'//默认绑定值
        }
    },
    mounted() {
        // 简单模拟接口请求
        setTimeout(() => {
            this.arrData.push({
                name: '测试1',
                value: '111'
            })
            this.arrData.push({
                name: '测试2',
                value: '222'
            })
            this.arrData.push({
                name: '测试3',
                value: '333'
            })
            this.arrData.push({
                name: '测试4',
                value: '444'
            })
        }, 1000)
    },
    methods: {
        change(value, text, item) {
            console.log(value, text, item);
        }
    }
}
</script>

<style>
    .content {
        padding: 20px;
    }
</style>

自定义内容

<template>
    <view class="content">
        <sjx-drop-down :local-data="arrData" textField="name" @change="change" 
                       filterField="name" :value="currentV" :isSelf="true">
            <template v-slot='{data}'>
                <view>
                    <view style="background-color: aquamarine;margin: 5px 0;" 
                          v-for="(item,index) in data" :key="index">
                        {{item.name}}---{{item.value}}---{{index}}
                    </view>
                </view>
            </template>
        </sjx-drop-down>
    </view>
</template>

export default {
    data() {
        return {
            arrData: [],
            currentV: '444'//默认绑定值
        }
    },
    mounted() {
        // 简单模拟接口请求
        setTimeout(() => {
            this.arrData.push({
                name: '测试1',
                value: '111'
            })
            this.arrData.push({
                name: '测试2',
                value: '222'
            })
            this.arrData.push({
                name: '测试3',
                value: '333'
            })
            this.arrData.push({
                name: '测试4',
                value: '444'
            })
        }, 1000)
    },
    methods: {
        change(value, text, item) {
            console.log(value, text, item);
        }
    }
}
</script>

<style>
    .content {
        padding: 20px;
    }
</style>

关于我

1、如有不足或不方便的地方,请指出,我尽快完善。

2、各位小伙伴如果需要其他插件的话,请留言,我会根据实际需求及自身能力完成插件或给出建议。

谢谢大家!

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

暂无用户评论。