antvis/G6

v5 为什么去掉了group shape? #5001

zzjjbbaa posted onGitHub

问题描述

group在某些场景下还是很有用的,比如某个node有三个shape,他们是同级别的(重要程度相同),但是现在keyShape只能指定一个;如果有group的话,可以将这三个shape放到group下,然后返回group作为keyShape;没有group的话,感觉失去了灵活性

重现链接

重现步骤

预期行为

平台

  • 操作系统: [macOS, Windows, Linux, React Native ...]
  • 网页浏览器: [Google Chrome, Safari, Firefox]
  • G6 版本: [4.5.1 ... ]

屏幕截图或视频(可选)

No response

补充说明(可选)

No response


v4 理论上也不推荐把 group 作为 keyShape。可以给个 demo 吗?我看看有没有别的解法

posted by Yanyan-Wang over 1 year ago

v4 理论上也不推荐把 group 作为 keyShape。可以给个 demo 吗?我看看有没有别的解法

v4 理论上也不推荐把 group 作为 keyShape。可以给个 demo 吗?我看看有没有别的解法

https://stackblitz.com/edit/react-d46mck?file=index.js

  1. v1,v2,v3代表三个线圈,它们同级别的;
  2. 后续需要对v1,v2,v3的组合图形,绕旋转中心旋转,如果直接旋转group似乎要方便些;
posted by zzjjbbaa over 1 year ago

v5 不对外暴露 Shape、Group 的原因是希望能够简单的、平铺管理图形,因为大部分用户对于嵌套的样式、图形会比较困惑。

并且通过 upsertShape 而不是以前的 addShape 的方式,能够自动选择创建(若 shapeMap 中没有该图形)或更新(若 shapeMap 中已有该图形),从而用户不需要再感知 draw 和 update 区别,G6 包掉增量更新样式的逻辑。之前 v4 就因为 draw 和 update 发生很多疑问。

对于你说的这个需求,我尝试了一下也许可以这样做,不过不清楚会不会有后续的问题,你可以先试试,如果有问题随时提:

https://stackblitz.com/edit/react-d46mck-lzdojm?file=index.js

posted by Yanyan-Wang over 1 year ago

v5 不对外暴露 Shape、Group 的原因是希望能够简单的、平铺管理图形,因为大部分用户对于嵌套的样式、图形会比较困惑。

并且通过 upsertShape 而不是以前的 addShape 的方式,能够自动选择创建(若 shapeMap 中没有该图形)或更新(若 shapeMap 中已有该图形),从而用户不需要再感知 draw 和 update 区别,G6 包掉增量更新样式的逻辑。之前 v4 就因为 draw 和 update 发生很多疑问。

对于你说的这个需求,我尝试了一下也许可以这样做,不过不清楚会不会有后续的问题,你可以先试试,如果有问题随时提:

https://stackblitz.com/edit/react-d46mck-lzdojm?file=index.js

收到 谢谢

posted by zzjjbbaa over 1 year ago

Fund this Issue

$0.00
Funded

Pull requests