更新记录

1.0.2(2025-09-28) 下载此版本

同上

1.0.1(2025-09-28) 下载此版本

修复H5适配问题

1.0.0(2025-09-28) 下载此版本

发布 async-cascade-select 插件

查看更多

平台兼容性

async-cascade-select

同步/异步级联面板选择(支持异步数据加载,默认值设置等配置)

基本用法

导入方法:

  1. 直接使用 HBuilderX 导入插件
  2. 下载插件 zip ,将 async-cascade-select 文件夹复制到项目 uni_modules/components 文件夹中,import+components 引入。

使用方式(demo):

    <template>
        <async-cascade-select :list="list" :async="isAsync" useName='name' @click="handleClick" :load-data="loadData"/>
    </template>

    <script>
    export default {
        data() {
            return {
                // 异步组件标识
                isAsync:true, // 类型:Boolean; 为true可不定义list, 为false则设置loadData级联请求数据
                // list 的 key 为'name',将 useName 指定为'name',默认值为'label'
                list: [
                    // 三级城市数据
                    {
                        id: 1, name: '四川省', children: [
                            {
                                id: 11, name: '成都市', children: [
                                    { id: 111, name: '武侯区', children: [] },
                                    { id: 112, name: '锦江区', children: [] }
                                ]
                            },
                            {
                                id: 12, name: '绵阳市', children: [
                                    { id: 121, name: '涪城区', children: [] },
                                    { id: 122, name: '游仙区', children: [] }
                                ]
                            }
                        ]
                    },
                    // 五级城市数据
                    {
                        id: 2, name: '广东省', children: [
                            {
                                id: 21, name: '广州市', children: [
                                    {
                                        id: 211, name: '天河区', children: [
                                            {
                                                id: 2111, name: '天河北街道', children: [
                                                    { id: 21111, name: '天河北社区', children: [] }
                                                ]
                                            }
                                        ]
                                    }
                                ]
                            }
                        ]
                    }
                ],
            };
        },

        methods: {
            // 异步加载数据方法
            async loadData(obj) {
                // 正常接口请求方式
                return new Promise((resolve) => {
                    axios.get(data).then((res) => {
                        if (res.code == 200) {
                            let resArr = res.data.map(item => {
                                return {
                                    name: item.cityName,
                                    id: item.id,
                                    index: (obj.index) + 1 || 0,
                                    children: []
                                };
                            })
                            resolve(resArr)
                        }
                    }).catch((res) => {
                        console.log(res, 'res')
                    })
                })
            },

            handleClick(data) {
                console.log('data', data);
            }
        }
    };
    </script>

Attributes and Events

参数 类型 说明 是否必传
list Array 展示数组,list:[{label:'', value:'',children:[]}]
useName String 指定对象要显示的 key,默认为 'label'
defaultValue Array 默认选中值,每一层级的id数组,
async Boolean 是否异步加载,默认'false',不异步加载,通过list数据使用
loadData Function 自定义异步加载方法,注意该函数指针this,使用箭头函数效果最佳
leftText String 重置按钮文字,默认为'重置'
isLevel Number 级联层数,默认为5级
事件名 说明 返回值
@click 点击数据层选项后触发,返回参数为选择数组 Array
@confirm 点击确认按钮后触发,返回参数为选择数组 Array
@reset 点击重置按钮后触发,无返回值 Array

特别鸣谢:lx-cascade-select 组件作者,基于此组件开发

隐私、权限声明

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

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

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

许可协议

MIT协议

暂无用户评论。