更新记录

1.0.6(2023-03-06)

1.新增主题颜色属性themeColor 2.新增空数据显示,空数据显示插槽

1.0.5(2023-03-03)

更新插件属性说明

1.0.4(2023-03-02)

调整宽度

查看更多

平台兼容性

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

lzl-picker-data

说明

lzl-picker-data 是一个可以动态加载数据的单列、多列级联选择器,常用于省市区城市选择、公司部门选择、多级分类动态加载等场景

属性说明

属性名 类型 默认值 说明
title String 请选择 标题
labelKey String label 映射key
maxLevel Number 3 最大级数
partition String / 返回字符串的分隔符
themeColor String #007aff 主题颜色

插槽Slots

名称 说明
empty 空内容插槽(只限于一级数据为空),可完全自定义中间内容

使用案例如下

<template>
    <view>
        <view class="" @click="onOpen">
            {{dataStr ? dataStr : '请选择'}}
        </view>
        <lzl-picker-data ref="lzlPicker" @change="" @select="" :maxLevel="3">
        </lzl-picker-data>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                dataStr:''
            }
        },
        onLoad() {
            this.getListData()
        },
        methods: {
            onOpen() {
                this.$refs.lzlPicker.open()
            },
            getListData(index = 0) {
                const data1 = [
                    {
                        label: '一年级',
                        value: 1001
                    },
                    {
                        label: '二年级',
                        value: 1002
                    },
                    {
                        label: '三年级',
                        value: 1003
                    },
                    {
                        label: '四年级',
                        value: 1004
                    },
                    {
                        label: '五年级',
                        value: 1005
                    }
                ]
                const data2 = [
                    {
                        label: '一班',
                        value: 10011
                    },
                    {
                        label: '二班',
                        value: 10021
                    },
                    {
                        label: '三班',
                        value: 10031
                    },
                    {
                        label: '四班',
                        value: 10041
                    },
                    {
                        label: '五班',
                        value: 10051
                    }
                ]
                const data3 = [
                    {
                        label: '张三',
                        value: 100111
                    },
                    {
                        label: '李四',
                        value: 100211
                    },
                    {
                        label: '王五',
                        value: 100311
                    },
                    {
                        label: '狂飙',
                        value: 100411
                    },
                    {
                        label: '比亚迪',
                        value: 100511
                    },
                    {
                        label: '特斯拉',
                        value: 100611
                    }
                ]
                let data = []
                // 模拟数据请求
                setTimeout(() => {
                    switch(index) {
                        case 0:
                        // 一级数据
                            data = data1
                        break;
                        case 1:
                        // 二级数据
                            data = data2
                        break;
                        case 2:
                        // 三级数据
                            data = data3
                        break;
                    }
                    // 通过setData()方法直接把当前级数据写入
                    this.$refs.lzlPicker.setData(data)
                },500)
            },
            // 选择改变事件
            ({index = 0}) {
                this.getListData(index)
            },
            // 选择结束事件
            ({list = [],value = ''}) {
                this.dataStr = value
                console.log('当前选中的:' + value)
                console.log(list)
            }
        }
    }
</script>

<style>

</style>

隐私、权限声明

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

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

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

许可协议

MIT协议

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