el-tree 获取勾选节点的祖父节点
时间: 2023-09-12 12:10:25 浏览: 63
可以通过遍历父节点的方式获取祖父节点。具体实现可以参考以下代码:
```javascript
// 获取勾选节点的祖父节点
function getGrandparentNode(node) {
let parentNode = node.parent;
if (!parentNode) {
return null; // 没有父节点,说明已经是根节点,没有祖父节点
}
// 如果父节点不是根节点,则递归遍历父节点的父节点
if (parentNode.parent) {
return getGrandparentNode(parentNode);
} else {
return parentNode;
}
}
```
在使用 el-tree 的时候,可以在 `node-click` 事件中调用上述函数来获取勾选节点的祖父节点,例如:
```html
<template>
<el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
</template>
<script>
export default {
data() {
return {
data: [
{
label: '一级 1',
children: [
{
label: '二级 1-1',
children: [
{
label: '三级 1-1-1'
},
{
label: '三级 1-1-2'
}
]
},
{
label: '二级 1-2',
children: [
{
label: '三级 1-2-1'
},
{
label: '三级 1-2-2'
}
]
}
]
}
],
defaultProps: {
children: 'children',
label: 'label'
}
};
},
methods: {
handleNodeClick(node) {
// 获取勾选节点的祖父节点
const grandparentNode = getGrandparentNode(node);
if (grandparentNode) {
console.log('勾选节点的祖父节点:', grandparentNode.label);
} else {
console.log('勾选节点没有祖父节点');
}
}
}
};
</script>
```
其中,`getGrandparentNode` 函数可以根据实际需求进行修改和优化。