G6 icon indicating copy to clipboard operation
G6 copied to clipboard

使用 combo 实例的 addNode 方法添加子节点后,拖拽 combo 会报错

Open NoraH1to opened this issue 2 years ago • 5 comments

问题描述

使用 combo 实例的 addNode 方法添加子节点后,拖拽 combo 会报错

报错信息如下:

drag-combo.js?c616:405 Uncaught TypeError: item.getModel is not a function
    at base.updateSignleItem (drag-combo.js?c616:405:1)
    at eval (drag-combo.js?c616:391:1)
    at base.traverse (drag-combo.js?c616:368:1)
    at eval (drag-combo.js?c616:379:1)
    at each (each.js?785f:10:1)
    at base.traverse (drag-combo.js?c616:378:11)
    at base.updateCombo (drag-combo.js?c616:386:1)
    at eval (drag-combo.js?c616:189:1)
    at each (each.js?785f:10:1)
    at base.onDrag (drag-combo.js?c616:188:11)

重现链接

重现步骤

1、监听 render 结束事件 2、在回调中调用某已存在 combo 的 addNode 方法,传入 nodeID 添加节点 3、拖动 combo

预期行为

预期没有报错,节点添加成功

实则报错且节点添加失败(addNode 返回的却是 true)

打断点调试发现调用的是 combo 实例上的 getItem 方法,但是实例和其原型链上并没有该方法,所以导致该错误

平台

  • 操作系统: Windows11
  • 网页浏览器: Chrome 97
  • G6 版本: 4.5.2

屏幕截图或视频(可选)

No response

补充说明(可选)

No response

NoraH1to avatar Jan 25 '22 10:01 NoraH1to

请问你是将已经存在于图上的节点,加入到 combo 中吗?如果是的话尝试这个 API graph.updateComboTree https://g6.antv.vision/zh/docs/api/graphFunc/item#graphupdatecombotreeitem-parentid

Yanyan-Wang avatar Jan 29 '22 03:01 Yanyan-Wang

请问你是将已经存在于图上的节点,加入到 combo 中吗?如果是的话尝试这个 API graph.updateComboTree https://g6.antv.vision/zh/docs/api/graphFunc/item#graphupdatecombotreeitem-parentid

~~是新添加的节点,但 combo.addChild 的执行结果是符合预期的~~

更正一下,是刚刚通过 graph.setData 添加的节点,然后立即调用 combo.addNode 出现上述问题,但 combo.addChild 的执行结果是符合预期的

graph.updateComboTree,绑定节点成功,但是拽托 combo 的行为会失效,表现为拽托后弹回原位置

NoraH1to avatar Feb 08 '22 10:02 NoraH1to

graph.setData?没有这个 API

Yanyan-Wang avatar Feb 11 '22 02:02 Yanyan-Wang

graph.setData?没有这个 API

记错了😂,是 graph.data

NoraH1to avatar Feb 11 '22 03:02 NoraH1to

新增节点 graph.addItem,更换数据 graph.changeData

Yanyan-Wang avatar Jun 23 '22 05:06 Yanyan-Wang

尊敬的用户,您好。我们很重视您的 issue,但由于长时间没有答复,我们暂时认为这个问题已经解决。如果还有任何问题,请随时根据 issue 模版再开启新的 issue。

Yanyan-Wang avatar Nov 28 '22 10:11 Yanyan-Wang