更新记录

1.0.47(2024-09-02) 下载此版本

修改bug

1.0.46(2024-09-02) 下载此版本

初始化数据

1.0.45(2024-08-09) 下载此版本

添加vue2支持

查看更多

平台兼容性

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

lu-data-select

数据下拉选择组件

单选、多选,关键词过滤,清空,空数据插槽,标题过长显示省略号

数据列表较多时,选中再次打开,选中的数据项,自动滚动到可视区域

示例代码


<template>
    <view class="content">
        <view class="title">1.单选,过滤</view>
        <lu-data-select placeholder="请选择数据" :options="selectData" v-model="condition1" :multiple="false" :filterable="true" @change="onchange"></lu-data-select>

        <view class="title">2.单选,过滤,change返回对象格式</view>
        <lu-data-select placeholder="请选择数据" :options="selectData" v-model="condition1" filterable changeType="objectValue" @change="onchange"></lu-data-select>

        <view class="title">3.多选,过滤</view>
        <lu-data-select placeholder="请选择数据" :options="selectData" v-model="condition" :filterable="true" :multiple="true" @change="onchange"></lu-data-select>

        <view class="title">4.多选,过滤,change返回对象格式</view>
        <lu-data-select
            disabled
            placeholder="请选择数据"
            :options="selectData"
            v-model="condition"
            :filterable="true"
            :multiple="true"
            changeType="objectValue"
            @change="onchange"
        ></lu-data-select>

        <view class="title">5.自定义空数据插槽</view>
        <lu-data-select placeholder="请选择数据" :options="selectData1" v-model="condition" :multiple="true" :clearable="true" :filterable="true" @change="onchange">
            <template #empty>
                <view style="text-align: center; padding: 20rpx; color: #f00">空数据插槽</view>
            </template>
        </lu-data-select>
        <view class="title">6.自动判断弹出方向,演示,无需配置</view>
        <lu-data-select placeholder="请选择数据" :options="selectData" v-model="condition" :multiple="true" :clearable="true" :filterable="true" @change="onchange">
            <template #empty>
                <view style="text-align: center; padding: 20rpx; color: #f00">空数据插槽</view>
            </template>
        </lu-data-select>

        <view class="title">7.边框,css的border属性,单选模式选择框高度height,多选默认自动增高</view>
        <lu-data-select
            placeholder="请选择数据"
            :options="selectData"
            v-model="condition1"
            :multiple="false"
            :filterable="true"
            height="100rpx"
            border="1px solid #f00"
            @change="onchange"
        ></lu-data-select>

        <view class="title">8.禁用选择</view>
        <lu-data-select placeholder="请选择数据" disabled :options="selectData" v-model="condition1"></lu-data-select>
    </view>
</template>

<script setup>
import { ref, watch } from 'vue';
const condition1 = ref('8');
const condition2 = ref('8');
const condition = ref(['7']); //多选必须是数组格式

const selectData1 = ref([]);
const selectData = ref([
    {
        value: '1',
        label: '测试标题测试标题测试标题测试标题测试标题测试标题测试标题1'
    },
    {
        value: '2',
        label: '数据2',
        disabled: true
    },
    {
        value: '3',
        label: '数据3',
        disabled: false
    },
    {
        value: '4',
        label: '数据4',
        disabled: true
    },
    {
        value: '5',
        label: '数据5'
    },
    {
        value: '6',
        label: '数据6'
    },
    {
        value: '7',
        label: '数据7'
    },
    {
        value: '8',
        label: '数据8'
    },
    {
        value: '9',
        label: '数据9'
    },
    {
        value: '10',
        label: '数据10'
    },
    {
        value: '11',
        label: '数据数据数据数据数据数据数据数据数据数据数据数据数据11'
    },
    {
        value: '12',
        label: '数据12'
    },
    {
        value: '13',
        label: '数据列表13'
    }
]);
const onchange = (e) => {
    console.log(e);
};
</script>
<style lang="scss" scoped>
.content {
    padding: 20px;

    .title {
        padding: 10px 0;
    }
}
</style>

参数

参数名称 类型 默认值 可选值 说明
v-model String 选中项绑定的值
options Array [ ] 数据列表,见下方 options 参数
labelKey String label 作为 label 唯一标识的键名
valueKey String value 作为 value 唯一标识的键名
multiple Boolean false true / false 是否多选
filterable Boolean true true / false 是否可以筛选
clearable Boolean true true / false 是否可以清空
placeholder String 请选择 默认提示语
disabled Boolean false true / false 是否禁用选择
border String '1px solid #e5e5e5' css属性值 边框设置
showEllipsis Boolean true true / false 选项过长是否显示省略号
height String '35px' css属性值 选择框高度,单选模式有效
collapseTags Boolean false true / false 是否折叠
collapseTagsNum Number 1 多少开始折叠
virtualList Boolean false true / false 大数据开启虚拟列表
emptyText String 无数据 options 为空的时候显示的文本
changeType String " ",可以不传,默认是返回value "objectValue" change事件返回的数据格式,默认:单选返回value值,多选返回value组成的数组,objectValue:单选返回对象,多选返回数组对象

options 参数

名称 类型 说明
label String / Number 选项的标签
value String / Number 选项的值
disabled Boolean 是否禁用该选项

事件

事件 说明
change 选项发生改变时触发

插槽

名称 说明
empty 自定义无数据内容
option 自定义选项插槽,返回值row:当前选项,$index:当前选项数组下标

隐私、权限声明

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

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

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

许可协议

MIT协议

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