预定义el-tree可以解析的json对象
defaultProps: {
id: undefined,
label: "label",
isLeaf: true
}
定义el-tree
<el-tree
:props="defaultProps"
:filter-node-method="filterNode"
:load="loadNode"
lazy
@node-click="handleNodeClick"
/>
后台返回数据格式,el-tree需要data属性的值
{
"code": 200,
"message": "成功",
"data": [
{
"id": 1,
"label": "蕾莎重击部",
"isLeaf": true
}
]
}
定义loadNode获取后台数据
getTreeselect(query, resolve) {
treeselect(query).then(response => {
if(undefined == response.data) {return resolve([])}
resolve(response.data);
});
},
loadNode(node, resolve) {
var query = {
parentId: undefined
};
if (undefined != node.data) {
query.parentId = node.data.id;
}
this.getTreeselect(query, resolve);
}
由于在点击节点时才进行该层数据的获取,默认情况下 Tree 无法预知某个节点是否为叶子节点,所以会为每个节点添加一个下拉按钮,如果节点没有下层数据,则点击后下拉按钮会消失。同时,你也可以提前告知 Tree 某个节点是否为叶子节点,从而避免在叶子节点前渲染下拉按钮。
注意:上面一段话解释是官方提供的,红色部门没有指明哪个字段什么值可以表示是否为叶子节点,有谁研究出来分享一下