Yanyan Wang
Yanyan Wang
楼上的方法是对的~,另外 drag-node 的 shouldEnd 和 shouldBegin 也可以尝试一下
从报错来看,是不是树图没有配置 layout?树图必须要配置布局哈。还有可以检查一下数据里面每个节点都有唯一的 string id 吗。都没有问题的话,给个在线复现 demo 看看吧
因为 dom 图形在更新之后,内部 dom 会被重新创建,原先绑定的监听可能就消失了,需要在必要的时候重新绑一下监听,例如: 这也是 dom 节点性能会比较差的一个原因,比较建议用 canvas 来实现
我这里看到的你发的 demo 每个节点左侧有一大块空白,像是边没连到位,原因是箭头的偏移量设置问题,直线缩短给箭头的偏移量留出位置导致。如下修改: 如果是你截图中的问题,尝试给节点设置 anchorPoints,即边连入的位置,边也可以设置选择对应的连入位置,参考文档:https://g6.antv.antgroup.com/manual/middle/elements/nodes/anchorpoint
可以来个 PR 共建一波~~
The implementation of getViewPortCenterPoint is: Which means the API returns the point in rendering coordinate system for the center of canvas DOM. If the graph has initial zoom (1) and...
v4 不支持~ v5 支持,v5 正在 beta 中,欢迎试用:https://g6-next.antv.antgroup.com/zh/examples/tool/contextMenu/#contextMenu 当然也欢迎社区朋友给 v4 提 PR 共建~
看下这里修改后的配置是否可行:https://codesandbox.io/s/misty-snow-ryg3r5
三分钟有点夸张,给个 mock 的数据看看?
看了一下是 radial 布局中使用到了一个初始化位置的算法 MDS,其中的奇异向量分解计算量特别大所以很慢,给 radial 布局新加了一个配置,可以关闭这个初始化计算,initWithMDS: false,这样你给的这份数据布局时间可以下降到 30s 左右。因为 radial 需要计算两两节点之间的最短路径,所以不可避免的还是存在不小的计算量的。 下面 demo 点击画布切换大数据:https://codesandbox.io/s/youthful-fire-6cmxmz?file=/index.js