-
|
利用ant-design-charts,里面有思维导图的示例,但是我没看到如何可以通过点击实现思维导图子节点的添加,各位大佬能贡献一下思路或者代码吗 |
Beta Was this translation helpful? Give feedback.
Answered by
lxfu1
Jan 25, 2026
Replies: 1 comment 1 reply
-
|
标题:Ant Design Charts 思维导图组件(MindMap)节点点击添加子节点方案 1. 官方文档内容梳理Ant Design Charts 的思维导图组件(MindMap)支持节点结构可视化,但【文档暂未涉及“如何通过点击节点添加子节点”】的直接 API 或内置方案,仅有基础数据和样式渲染方法。 2. 思维导图基本使用示例这是一个官方基础 MindMap 的代码结构,用于渲染节点: import React from 'react';
import { MindMap } from '@ant-design/charts';
const data = {
id: 'root',
value: '中心思想',
children: [
{ id: 'sub1', value: '分支1' },
{ id: 'sub2', value: '分支2' },
],
};
const config = {
data,
nodeCfg: {/* 节点样式配置 */},
};
export default () => <MindMap {...config} />;
3. 实现动态添加子节点功能思路文档未直接支持节点交互的回调接口,但可用如下通用方案:
示例代码(方案参考)import React, { useState } from 'react';
import { MindMap } from '@ant-design/charts';
const initialData = {
id: 'root',
value: '中心思想',
children: [
{ id: 'sub1', value: '分支1' },
{ id: 'sub2', value: '分支2' },
],
};
const App = () => {
const [data, setData] = useState(initialData);
// 辅助函数:递归查找并添加子节点
const addChild = (tree, nodeId) => {
if (tree.id === nodeId) {
const newId = Date.now().toString();
const newChild = { id: newId, value: `新分支${newId}` };
return {
...tree,
children: [...(tree.children || []), newChild],
};
}
if (tree.children) {
return {
...tree,
children: tree.children.map(child => addChild(child, nodeId)),
};
}
return tree;
};
const config = {
data,
nodeCfg: {
events: {
onClick: (e, nodeConfig) => {
// nodeConfig.id 为当前点击节点的 id
const newData = addChild(data, nodeConfig.id);
setData(newData);
},
},
},
};
return <MindMap {...config} />;
};
export default App;
4. 文档参考与说明
5. 进一步交流请补充你的实际需求(如:是否需要弹窗输入子节点名字、如何删除节点等),我可以继续针对场景优化方案。 此回答由AI自动生成,仅供参考。如有疑问,请等待维护者回复。 |
Beta Was this translation helpful? Give feedback.
1 reply
Answer selected by
WZLlin
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

标题:Ant Design Charts 思维导图组件(MindMap)节点点击添加子节点方案
1. 官方文档内容梳理
Ant Design Charts 的思维导图组件(MindMap)支持节点结构可视化,但【文档暂未涉及“如何通过点击节点添加子节点”】的直接 API 或内置方案,仅有基础数据和样式渲染方法。
相关文档地址:思维导图组件文档
2. 思维导图基本使用示例
这是一个官方基础 MindMap 的代码结构,用于渲染节点:
3. 实现动态添加子节点功能思路
文档未直接支持节点交互的回调接口,但可用如下通用方案: