From da563a31eea0285bc1f9dc1112e05e71460e4ff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E9=B9=8F?= <2916022834@qq.com> Date: Fri, 10 Oct 2025 11:55:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=BB=E5=B8=83=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=9C=80=E5=90=8E=E4=B8=80=E4=B8=AA=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E5=9B=BE=E5=B1=82bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/component/Canvas/CanvasEditor/index.vue | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/component/Canvas/CanvasEditor/index.vue b/src/component/Canvas/CanvasEditor/index.vue index 6fe4851e..d46799e6 100644 --- a/src/component/Canvas/CanvasEditor/index.vue +++ b/src/component/Canvas/CanvasEditor/index.vue @@ -678,12 +678,20 @@ function deleteFun(){ function removeLayer(layerId) { // Check if this is the last layer - prevent deletion - if (layers.value.length <= 2) { - console.warn( + var isChild = false; + var parentLength = 0; + layers.value.forEach((layer) => { + if(layer.children.some(v => v.id == layerId)){ + isChild = true; + parentLength = layer.children.length; + } + }) + if(isChild && parentLength == 1 || layers.value.length <= 3){ + console.warn( "Cannot delete the last layer. At least one layer must remain." ); return; - } + } if (canvasManager && canvasManager.canvas) { const layerToRemove = layers.value.find((l) => l.id === layerId);