[Bug]: 更新 5.0.49 后,脑图 设置初始只展示两层,手动展开第三层位置错乱
Describe the bug / 问题描述
更新 5.0.49 后,脑图 初始只展示两层,手动展开第三层位置错乱
Reproduction link / 复现链接
https://stackblitz.com/edit/react-ahfxxwsg?file=index.js
Steps to Reproduce the Bug or Issue / 重现步骤
No response
Version / 版本
🆕 5.x
OS / 操作系统
- [ ] macOS
- [ ] Windows
- [ ] Linux
- [ ] Others / 其他
Browser / 浏览器
- [ ] Chrome
- [ ] Edge
- [ ] Firefox
- [ ] Safari (Limited support / 有限支持)
- [ ] IE (Nonsupport / 不支持)
- [ ] Others / 其他
收到问题反馈,我们会尽快排查
我也遇到了同样的问题, 已经暂时回退到使用固定5.0.46版本了, 希望官方能尽快解决
@Aarebecca 这里在展开的时候计算布局给删掉了
https://github.com/antvis/G6/pull/7194/files#diff-83fe345610470bb432794e2285ba81377dec1994830e640af22113dfba2bfcb8L727
然后 demo 这里改成了 先全部展开,然后再折叠,完全不管先折叠的节点
这种 break change 确定要这么改话,放到大版本里说明一下吧 =,=
@Aarebecca 这里在展开的时候计算布局给删掉了
https://github.com/antvis/G6/pull/7194/files#diff-83fe345610470bb432794e2285ba81377dec1994830e640af22113dfba2bfcb8L727
然后 demo 这里改成了 先全部展开,然后再折叠,完全不管先折叠的节点
这种 break change 确定要这么改话,放到大版本里说明一下吧 =,=
@Sloth9527 这是来自一位社区用户的贡献,我会尽快评估一下,如果存在问题会回滚相关代码
不好意思引入了比较大的变化,原因是我想在折叠/展开的时候保持节点原来的位置不变,而不受到布局的影响,align选项也不好用,所以就删掉了布局,之后我会更加谨慎的。
你们的问题可以尝试加两个配置解决。
layout: {
type: 'dendrogram',
nodeSep: 30,
rankSep: 100,
preLayout: true,// 这个配置
isLayoutInvisibleNodes: true,// 还有这个
}
这个问题解决的原理是:先布局所有的节点(包括折叠的和不可见的)然后再绘制。折叠的节点位置得到了布局。因此再展开会让折叠的节点到达理想的位置。@pjqdyd @Sloth9527
@Aarebecca 这里在展开的时候计算布局给删掉了
https://github.com/antvis/G6/pull/7194/files#diff-83fe345610470bb432794e2285ba81377dec1994830e640af22113dfba2bfcb8L727
然后 demo 这里改成了 先全部展开,然后再折叠,完全不管先折叠的节点
这种 break change 确定要这么改话,放到大版本里说明一下吧 =,=
已补充 demo。#7262
不好意思引入了比较大的变化,原因是我想在折叠/展开的时候保持节点原来的位置不变,而不受到布局的影响,align选项也不好用,所以就删掉了布局,之后我会更加谨慎的。
你们的问题可以尝试加两个配置解决。
layout: { type: 'dendrogram', nodeSep: 30, rankSep: 100, preLayout: true,// 这个配置 isLayoutInvisibleNodes: true,// 还有这个 } 这个问题解决的原理是:先布局所有的节点(包括折叠的和不可见的)然后再绘制。折叠的节点位置得到了布局。因此再展开会让折叠的节点到达理想的位置。@pjqdyd @Sloth9527
@HawtinZeng 好的
@Aarebecca 这样的话是不是遍历data里面有 collapsed: true 的数据 就强制打开 preLayout 和 isLayoutInvisibleNodes 这个两个参数比较好
不好意思引入了比较大的变化,原因是我想在折叠/展开的时候保持节点原来的位置不变,而不受到布局的影响,align选项也不好用,所以就删掉了布局,之后我会更加谨慎的。
你们的问题可以尝试加两个配置解决。
layout: { type: 'dendrogram', nodeSep: 30, rankSep: 100, preLayout: true,// 这个配置 isLayoutInvisibleNodes: true,// 还有这个 } 这个问题解决的原理是:先布局所有的节点(包括折叠的和不可见的)然后再绘制。折叠的节点位置得到了布局。因此再展开会让折叠的节点到达理想的位置。@pjqdyd @Sloth9527
我的场景就是折叠和展开就要自动布局,改了以后折叠展开整体就不变化了,现在回退老版本用了。应该加一个options来控制吧