Pārlūkot izejas kodu

fix: 条件节点只存在一个节点时画线有误差

lanjianrong 2 gadi atpakaļ
vecāks
revīzija
65cc2fa64e

+ 2 - 2
package.json

@@ -43,8 +43,8 @@
     "@formily/reactive": "^2.1.10",
     "@formily/reactive-react": "^2.1.10",
     "@formily/shared": "^2.1.10",
-    "@umijs/max": "4.0.23",
-    "@umijs/plugins": "4.0.23",
+    "@umijs/max": "4.0.26",
+    "@umijs/plugins": "4.0.26",
     "@umijs/route-utils": "^2.2.0",
     "ahooks": "^3.7.1",
     "antd": "^4.23.2",

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 262 - 259
pnpm-lock.yaml


+ 5 - 2
src/pages/Business/Step/components/Flow/components/Edge/SmoothStepEdge.tsx

@@ -156,16 +156,19 @@ export default memo(
       let resizeYOffset = 0
       // 过滤找到指向同一个target的edge数组,包括了自己
       const relationalEdges = edges.filter(item => item.target === target)
-
       if (relationalEdges.length > 1) {
         const nodeIds = relationalEdges.map(item => item.source)
         const relationalNodes = nodes.filter(item => nodeIds.includes(item.id))
         const currentNode = relationalNodes.find(item => item.id === source)
+
         relationalNodes.forEach(item => {
           if (item.position.y > currentNode?.position.y) {
-            resizeYOffset = item.position.y - (currentNode?.position.y || 0)
+            // 计算出最大的差值
+            const currentOffset = item.position.y - (currentNode?.position.y || 0)
+            currentOffset > resizeYOffset && (resizeYOffset = currentOffset)
           }
         })
+        console.log(relationalNodes, currentNode, resizeYOffset)
       }
       return resizeYOffset
     }