antvis / G6

♾ A Graph Visualization Framework in JavaScript.
https://g6.antv.antgroup.com/
MIT License
11.06k stars 1.31k forks source link

请问 TreeGraph 如何添加前置节点? #3707

Closed lhlGitHub closed 2 years ago

lhlGitHub commented 2 years ago

问题描述

需求是想在脑图子树添加一个前置节点,设计下面的代码,但是会异常,请问一下,如何正确添加前置节点?

<Menu.Item
        key="3"
        onClick={() => {
          const id = curNodeEvt.item.getID();
          const data = tree.findDataById(id);
          const curModel = curNodeEvt.item.get('model');
          const parentNode = curNodeEvt.item.get('parent');
          const parentId = parentNode.get('model').id;

          const preNode = {
            id: '5666',
            label: '前置节点',
            type: 'dice-mind-map-sub',
            children: [curModel],
          };

          tree.updateChildren(preNode, parentId);
        }}
      >
        添加前置节点
      </Menu.Item>

重现链接

暂无

重现步骤

调用 tree.updateChildren(preNode, parentId); 报 × TypeError: Cannot read properties of undefined (reading 'children') 异常

预期行为

期待可以正常添加前置节点

平台

屏幕截图或视频(可选)

No response

补充说明(可选)

No response

Yanyan-Wang commented 2 years ago

树图中的每一个节点,都最多只能有一个父节点。树数据结构不支持多个父节点