Răsfoiți Sursa

feat:自适应布局-显/隐过滤 子节点

ananzhusen 1 lună în urmă
părinte
comite
f003914c63
2 a modificat fișierele cu 19 adăugiri și 13 ștergeri
  1. 12 8
      src/views/components/FitProps.vue
  2. 7 5
      src/views/components/View.vue

+ 12 - 8
src/views/components/FitProps.vue

@@ -166,10 +166,12 @@ const fitPenVisible = (e) => {
   if (e) {
     meta2d.store.data.pens.forEach((pen) => {
       if (!selections.fit.children?.includes(pen.id)) {
-        meta2d.setValue(
-          { id: pen.id, visible: false },
-          { render: false, doEvent: false, history: false }
-        );
+        if(!pen.parentId){
+          meta2d.setValue(
+            { id: pen.id, visible: false },
+            { render: false, doEvent: false, history: false }
+          );
+        }
       }
     });
     meta2d.canvas.hideFit();
@@ -180,10 +182,12 @@ const fitPenVisible = (e) => {
   } else {
     meta2d.store.data.pens.forEach((pen) => {
       if (!selections.fit.children?.includes(pen.id)) {
-        meta2d.setValue(
-          { id: pen.id, visible: true },
-          { render: false, doEvent: false, history: false }
-        );
+        if(!pen.parentId){
+          meta2d.setValue(
+            { id: pen.id, visible: true },
+            { render: false, doEvent: false, history: false }
+          );
+        }
       }
     });
     meta2d.canvas.showFit();

+ 7 - 5
src/views/components/View.vue

@@ -2413,11 +2413,13 @@ const changeFit = () => {
     meta2d.canvas.showFit();
   }else{
     meta2d.store.data.pens.forEach((pen) => {
-      if (!selections.fit.children?.includes(pen.id)) {
-        meta2d.setValue(
-          { id: pen.id, visible: true },
-          { render: false, doEvent: false, history: false }
-        );
+      if (selections.fit&&!selections.fit.children?.includes(pen.id)) {
+        if(!pen.parentId){
+          meta2d.setValue(
+            { id: pen.id, visible: true },
+            { render: false, doEvent: false, history: false }
+          );
+        }
       }
     });
     meta2d.canvas.hideFit();