点击父节点,获取该节点的 id,然后渲染成子节点,
目前 id 已获取,子节点数据也请求到了,不知道怎么渲染到该节点下面
看官方介绍有一个 load 参数--加载子树数据的方法,有没有用过的同志来指导一下怎么用
<el-tree
:props="props1"
:load="loadNode1"
node-key="id"
ref="tree"
highlight-current
lazy
show-checkbox
@node-click="handleNodeClick">
</el-tree>
loadNode(node, resolve){
console.log(node);
// if (node.level === 0) {
// return resolve([{ name: 'region' }]);
// }
// if (node.level > 1) return resolve([]);
// setTimeout(() => {
// const data = [];
//
// resolve(data);
// }, 500);
},
getClickchild(id) {
alert(id)
axios.get('/api/bank/oprtion/oprtionList.do?id='+id)
.then(function(res) {
console.log(res.data)
loadNode
})
.catch(function(error) {
console.log(error)
})
},
handleNodeClick(data) {
// this.clickId = data.id
console.log(data.id);
this.getClickchild(data.id)
}}
首先文档的 setTimeout,其实就是异步加载;
还是上代码吧。
我用的 axios,都一样。
例:
loadNode(node, resolve) {
if (node.level == 1) {
console.log(node.data);
//注!把resolve传到你自己的异步中去
this.getUser(node.data.fence, node.data.id, resolve);
}
// setTimeout(() => {
// var data;
// if (hasChild) {
// data = [
// {
// name: "zone" + this.count++
// },
// {
// name: "zone" + this.count++
// }
// ];
// } else {
// data = [];
// }
// resolve(data);
// }, 500);
},
然后就是异步
//伪代码
getUser(node.data.fence, node.data.id, resolve){
axios.post().then(res=> {
let data = res.data;//改成tree需要的格式
resolve(data);//解决?
})
}
以上。
另外,element 的文档确实有点问题啊。需要仔细领悟。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于