### 发生了什么? 背景:DynamicGroup 插件启动限制模式 (isRestrict),且isAllowAppendIn函数设置为一直返回false(限制任意节点不能进入分组)。 问题:渲染的节点数据中存在一个分组和一个组内节点,当拖动这个组内节点再松开时,会导致该节点脱离原来的组,再次拖动时,就可以拖动到组外区域。 我这样配置的目的是:已经在分组内的元素不能出组,且其他节点不能进入到这个分组内。 问题复现地址:[https://tinysimple.github.io/LogicFlowGroupBugShow/](https://tinysimple.github.io/LogicFlowGroupBugShow/) 可复现源码地址:[https://github.com/tinysimple/LogicFlowGroupBugShow](https://github.com/tinysimple/LogicFlowGroupBugShow) <img width="724" height="482" alt="Image" src="https://github.com/user-attachments/assets/e2ce2890-1fd5-40c0-87e3-a5ada57b7bdf" /> 查看源码发现,其逻辑在 `@logicflow/extension/es/dynamic-group/index.js` 中的68行函数内。 现有的逻辑为: 1. 如果该节点之前已经在 group 中了,则将其从之前的 group 移除 2. 然后再判断这个节点是否在某个 group 范围内,如果是,则将其添加到对应的 group 中 所以当一个节点被拖动结束时,会先执行第1步的逻辑,即:将该节点从分组内移除;再执行第2步的逻辑,由于没有移动出分组的范围,所以这个节点还在这个 `group` 范围内,再判断 `isAllowAppendIn` 函数,此处我设置的该函数一直返回`false`,导致元素无法再进入这个分组。 我尝试对该处的源码进行改动,改动为: 1、先不将该节点从之前的 group 移除 2、如果找到这个节点在某个 group 范围内,判断是否与上一次的 group 一样,如果一样,直接return 3、再将该节点从之前的 group 移除 改动后,分组内的元素无法在第二次拖动时拖出分组区域,其他节点也无法拖进分组内。 效果地址:[https://tinysimple.github.io/LogicFlowGroupFixPage/](https://tinysimple.github.io/LogicFlowGroupFixPage/) 改动后的源码地址:[https://github.com/tinysimple/LogicFlowGroupFixPage](https://github.com/tinysimple/LogicFlowGroupFixPage) 如果有需要,我可以提交PR,感谢~ ### logicflow/core版本 2.2.3 ### logicflow/extension版本 2.2.3 ### logicflow/engine版本 _No response_ ### 浏览器&环境 Chrome
Activity
fix(extension): keep group membership on in-group drop when append de…
fix(extension): keep group membership on in-group drop when append de…
fix(extension): keep group membership on in-group drop when append de…
Zsynuting commentedon Jul 7, 2026
fixed in @logicflow/extension@2.3.0