<Tree ref="tree" :data="data" :load-data="loadData" @on-select-change="selectChange" show-checkbox/>
methods:{
selectChange (selectedList) {
// 获取当前节点
const node = selectedList[selectedList.length - 1]
if (node) {
// 递归(后端逻辑是传父节点id,返回子节点列表)
this._loadData(node.id, (response) => {
// 没有子节点则返回
if (!response) return
let array = []
// 遍历子节点,然后在各子节点上递归调用_loadData查询孙子、曾孙子...
response.forEach((item) => {
array.push(item)
this._loadData(item.id, () => {})
})
// 挂载子节点
node.children = array
// 展开子节点树
node.expand = true
})
}
}
},
mounted () {
this._loadData(this.id, (array) => {
this.data = array
})
}
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
:on-select-change 点击树节点时触发 当前已选中的节点数组