iview点击树的子节点如何获取它所有的父级节点
时间: 2024-03-19 07:44:47 浏览: 85
如果你使用的是 iview 中的 tree 组件,可以通过监听 tree 的 select-change 事件,在事件回调函数中通过遍历获取当前节点的所有父级节点。
具体实现可以参考以下代码:
```
<template>
<div>
<Tree :data="data" :accordion="true" @select-change="handleSelectChange"></Tree>
</div>
</template>
<script>
export default {
data () {
return {
data: [{
title: 'parent 1',
children: [{
title: 'child 1-1',
children: [{
title: 'grandchild 1-1-1'
}, {
title: 'grandchild 1-1-2'
}]
}, {
title: 'child 1-2'
}]
}, {
title: 'parent 2',
children: [{
title: 'child 2-1'
}, {
title: 'child 2-2'
}]
}]
}
},
methods: {
handleSelectChange (selectedNode) {
const parentNodes = []
let parentNode = selectedNode.parent
while (parentNode) {
parentNodes.unshift(parentNode)
parentNode = parentNode.parent
}
console.log('selected node:', selectedNode)
console.log('parent nodes:', parentNodes)
}
}
}
</script>
```
在上述代码中,当用户选择某个节点时,会触发 handleSelectChange 方法,该方法会通过 while 循环遍历当前节点的所有父级节点,并将它们存储在 parentNodes 数组中,最后打印出当前节点和所有父级节点的信息。
阅读全文