更新记录
1.0.1(2022-07-25) 下载此版本
修改了readme文件
1.0.0(2022-07-25) 下载此版本
首次提交
平台兼容性
uni-app
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | - | - | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
√ | - | - | - | - | - | - | - | - | - | - |
其他
多语言 | 暗黑模式 | 宽屏模式 |
---|---|---|
× | × | √ |
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>