antd TreeSelect 组件如何获取父级ID
2023-12-15 21:06:22
在 Ant Design 的 TreeSelect
组件中,当选择子节点时获取其父节点的 ID,你需要利用 TreeSelect
组件提供的数据和事件回调。通常TreeSelect
的数据以树形结构存储,每个节点都有一个唯一的 key
(或 value
)和一个指向其父节点的引用。
以下是一个基本的实现方法:
-
准备数据:确保每个节点数据中包含对其父节点的引用。例如,你可以在每个节点对象中添加一个
parentId
字段。 -
处理选择事件:在
TreeSelect
的onChange
或onSelect
事件回调中,你可以根据选中的节点的value
查找其对应的父节点 ID。
下面是一个简化的示例代码:
import React, { useState } from 'react';
import { TreeSelect } from 'antd';
const App = () => {
const [value, setValue] = useState(undefined);
const treeData = [
{
title: 'Parent 1',
value: 'parent1',
children: [
{
title: 'Child 1-1',
value: 'child1-1',
parentId: 'parent1',
},
{
title: 'Child 1-2',
value: 'child1-2',
parentId: 'parent1',
},
],
},
// 更多节点...
];
const onChange = (value, label, extra) => {
setValue(value);
const nodeData = extra.triggerNode ? extra.triggerNode.props : null;
const parentId = nodeData ? nodeData.parentId : null;
console.log('选中值:', value);
console.log('父节点ID:', parentId);
// 这里可以执行更多的逻辑
};
return (
<TreeSelect
style={{ width: '100%' }}
value={value}
dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}
treeData={treeData}
placeholder="Please select"
treeDefaultExpandAll
onChange={onChange}
/>
);
};
export default App;
在这个例子中:
- 我们为
TreeSelect
组件提供了一个带有parentId
属性的树形数据结构。 - 在
onChange
事件中,我们通过extra.triggerNode
获取触发选择事件的节点,并进一步获取其parentId
。
请根据你的实际数据结构和需求调整此代码。如果你的树形数据没有包含父节点的引用,你可能需要先处理原始数据以构建这种关系。
文章来源:https://blog.csdn.net/qq_37247349/article/details/135023947
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!