更新记录

2.0(2024-04-01)

1.完善功能

1.0.2(2023-05-29)

修改引入错误问题

1.0.1(2023-05-15)

修复无法下载问题

查看更多

平台兼容性

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

支持异步加载版本

在线预览地址:https://lusz.top/picture/h5/#/

基础版

插件地址:https://ext.dcloud.net.cn/plugin?id=9976

升级版(支持异步加载)

下载地址:https://github.com/LSZ579/level-tree 体验地址: https://lsz579.github.io/level-tree/ 1.支持纯展示

2.支持单选(所有可选、只选子级俩种模式)

3.多选(所有可选、只选子级俩种模式)

4.多选联动

5.效果图

兼容问题

实测支持小程序、H5、App 根据层级路径操作数据,无需每一次操作都遍历所有数据,所以优化良好,响应速度快,无卡顿(测试的数据量1314条,多选响应速度快) 总代码量300多行,无其它依赖,体积小

使用说明:

  1. 在页面引用组件
<LoadTree :list="list" ref="tree" :check_type="type"  :check_id="check_id" @checkRadio="checkRadio" :onlyChooseChild="onlyChooseChild" :isFirst="true" @change="change"></LoadTree>

参数说明

参数 类型 是否必填 默认值 说明
list Array [ ] 传入的树形数据,结构见下面的例子
check_type string ‘ ’ radio 单选 multiple 多选
onlyChooseChild Boolean false 是否只可选子级
isFirst Boolean true 必须传true
check_id string ' ' 单选时选中的值/默认选中的值
checkRadio Event 单选的模式下选中值得时候的回调
change Event 选中,或者点击某项时的回调

数据格式

        [
            {
                name: '一级',
                id: '1',
                children: []
            }
        ]

必看:

tree数据需要带有checked字段 数据的id是唯一的id 默认选中需要传checkList,并调用checks方法

获取选中的值

单选:check_id 多选:通过ref获取

    this.$refs.tree.getValue()

完整的示例代码

<template>
    <view class="content">
        <LoadTree :list="list" ref="tree" :check_type="type"  :check_id="check_id" @checkRadio="checkRadio" :onlyChooseChild="onlyChooseChild" :isFirst="true" @change="change"></LoadTree>
    </view>
</template>

<script>
    import LoadTree from '@/components/load-tree/index.vue'
    import {treeNode} from './city.js'
    export default {
        components: {
            LoadTree
        },
        data() {
            return {
                list: treeNode,
                check_id:"",
                type:"multiple",
                onlyChooseChild:true
            }
        },
        methods: {
            // 点击或选择回调
            change(val) {
                console.log(val)
            },
            /* 单选回调 */
            checkRadio(check_id){
                this.check_id = check_id
            },
            //多选时-获取选中的值
            getValue(){
                let result= this.$refs.tree.getValue()
            }
        }
    }
</script>

将继续持续维护和开发

获取升级版 vx: 122720267

隐私、权限声明

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

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

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

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