El-tree通过父节点获取数据渲染子节点
时间: 2023-07-20 10:04:21 浏览: 165
El-tree 是一个基于 Vue.js 的树形控件,可以通过父节点获取数据并渲染子节点。具体操作如下:
1. 在父节点上设置一个属性,例如 `:data`,用来存储子节点的数据。
2. 在子节点的模板中使用 `v-for` 循环渲染子节点,例如:
```html
<el-tree :data="parent.children">
<template slot-scope="{ node }">
<span>{{ node.label }}</span>
</template>
</el-tree>
```
这里的 `parent` 表示父节点,`children` 表示子节点的数据,`node` 代表当前循环到的节点,可以通过 `node.label` 获取该节点的标签文本。
3. 可以通过 `load` 属性实现动态加载子节点数据,例如:
```html
<el-tree :load="loadChildren">
<template slot-scope="{ node }">
<span>{{ node.label }}</span>
</template>
</el-tree>
```
这里的 `loadChildren` 是一个方法,用来根据当前节点的信息加载子节点的数据。例如:
```javascript
loadChildren(node, resolve) {
if (node.level === 0) {
// 根节点的子节点
return resolve([
{ label: '节点一', leaf: false },
{ label: '节点二', leaf: false }
]);
} else if (node.level === 1) {
// 第一级子节点的子节点
return resolve([
{ label: '子节点一', leaf: true },
{ label: '子节点二', leaf: true }
]);
} else {
// 其他情况
return resolve([]);
}
}
```
`resolve` 是一个回调函数,用来将加载的子节点数据传递给树形控件。在方法中,可以根据当前节点的信息来加载不同的子节点数据。
阅读全文