antd tree 获取父级
时间: 2023-09-25 11:13:15 浏览: 98
可以通过antd tree的onSelect事件获取当前选中节点的key和其父节点的key,然后根据父节点的key去获取父节点的信息。代码示例如下:
```jsx
import { Tree } from 'antd';
function getParentNode(treeData, key) {
let parent = null;
const loop = data => {
data.forEach(item => {
if (item.key === key) {
return;
}
if (item.children) {
if (item.children.some(child => child.key === key)) {
parent = item;
return;
}
loop(item.children);
}
});
};
loop(treeData);
return parent;
}
function MyTree({ treeData }) {
const onSelect = (selectedKeys) => {
const selectedKey = selectedKeys[0];
const parent = getParentNode(treeData, selectedKey);
console.log('parent:', parent);
};
return (
<Tree
onSelect={onSelect}
treeData={treeData}
/>
);
}
```
在上面的代码中,getParentNode函数是用来获取父节点的,它会递归遍历整个树,直到找到当前节点的父节点为止。在onSelect事件中,我们获取当前选中节点的key,然后调用getParentNode函数获取父节点信息,并打印出来。
阅读全文