更新记录

1.0.1(2022-07-25)

修改了readme文件

1.0.0(2022-07-25)

首次提交

查看更多

平台兼容性

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

bt-tree

一个使用dataCom规范的树形递归组件

基本用法

示例

<template>
    <bt-tree :items="items" @click="onClick"></bt-tree>
</template>

<script>
    export default {
        data() {
            return {
                // 数组中应该包含以下几项
                // image: 头像(可以不填),
                // text: 主要文字,
                // desc: 描述文字
                // children: 子节点(可以没有)
                items: []
            }
        },
        onLoad() {
            this.getData().then(res => {
                console.log(res)
                this.items = res
            })
        },
        methods: {
            /**
             * @param {Object} item 当前被点击的对象
             * @param {Array<number>} path 被点击对象的路径,用于更新数据
             * @param {{ open:function,close:function,trigger:function }} context 被点击对象的上下文,用于展开和关闭父节点
             */
            onClick(item, path, context) {
                let curItem = {
                    children: this.items
                }
                path.forEach(index => {
                    curItem = curItem.children[index]
                })
                if (item.children) {
                    context.trigger()
                } else {
                    this.getData().then(res => {
                        this.$set(curItem, "children", res)
                    })
                }

            },
            // 模拟数据加载
            getData() {
                const names = ["张三", "李四", "王五"]
                const avatar = []
                const jobs = ["", "ceo", "前端工程师", "后端工程师"]
                const random = (list) => list[parseInt(list.length * Math.random())]
                return Promise.resolve(new Array(parseInt(1 + Math.random() * 10)).fill(0).map(() => ({
                    image: random(avatar),
                    text: random(names),
                    desc: random(jobs)
                })))
            },
        }
    }
</script>

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

暂无用户评论。

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