From 6cdc8c54863f0e4f46523a2cbf7c2c9210eede54 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, 23 Jan 2026 17:43:15 +0800 Subject: [PATCH 1/2] 111 --- src/component/Canvas/CanvasEditor/index.vue | 7 ++++--- .../Canvas/CanvasEditor/managers/CanvasManager.js | 5 +++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/component/Canvas/CanvasEditor/index.vue b/src/component/Canvas/CanvasEditor/index.vue index f08f38ad..80748145 100644 --- a/src/component/Canvas/CanvasEditor/index.vue +++ b/src/component/Canvas/CanvasEditor/index.vue @@ -509,9 +509,10 @@ onMounted(async () => { let trailingTimeout = null; observer = new ResizeObserver((entries) => { clearTimeout(trailingTimeout); - trailingTimeout = setTimeout(() => { - optimizeCanvasRendering(canvasManager.canvas, ()=> handleWindowResize()); - }, 1000); + trailingTimeout = setTimeout(async () => { + if(canvasManager.awaitCanvasRun) await canvasManager.awaitCanvasRun(); + handleWindowResize() + }, 100); }); observer.observe(canvasContainerRef.value); // 使用window的resize事件代替ResizeObserver diff --git a/src/component/Canvas/CanvasEditor/managers/CanvasManager.js b/src/component/Canvas/CanvasEditor/managers/CanvasManager.js index 07651777..312add1a 100644 --- a/src/component/Canvas/CanvasEditor/managers/CanvasManager.js +++ b/src/component/Canvas/CanvasEditor/managers/CanvasManager.js @@ -73,6 +73,7 @@ export class CanvasManager { this.partManager = options.partManager || null; this.props = options.props || {}; this.emit = options.emit || (() => {}); + this.awaitCanvasRun = null; // 初始化画布 this.initializeCanvas(); } @@ -1487,6 +1488,8 @@ backgroundObject.scaleY,'CanvasManager resetCanvasSizeByFixedLayer') */ async createOtherLayers(otherData, isUpdate = false) { if (!otherData) return console.warn("otherData 为空不需要添加"); + let resolve = ()=>{}; + this.awaitCanvasRun = ()=>(new Promise((v) => resolve = v)) const otherData_ = JSON.parse(JSON.stringify(otherData)); console.log("==========创建其他图层", otherData_); @@ -1534,6 +1537,8 @@ backgroundObject.scaleY,'CanvasManager resetCanvasSizeByFixedLayer') await this.createPrintTrimsLayers(printTrimsLayers, singleLayers); } await this.changeCanvas(); + console.log("==========创建其他图层成功"); + resolve(); } // 设置画布对象的裁剪信息 From a05655da1cbd4ac9f4f1df22aa7b0bd17d489209 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, 23 Jan 2026 17:50:33 +0800 Subject: [PATCH 2/2] 111 --- src/component/Canvas/CanvasEditor/managers/CanvasManager.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/component/Canvas/CanvasEditor/managers/CanvasManager.js b/src/component/Canvas/CanvasEditor/managers/CanvasManager.js index 312add1a..0f0aaa34 100644 --- a/src/component/Canvas/CanvasEditor/managers/CanvasManager.js +++ b/src/component/Canvas/CanvasEditor/managers/CanvasManager.js @@ -1539,6 +1539,7 @@ backgroundObject.scaleY,'CanvasManager resetCanvasSizeByFixedLayer') await this.changeCanvas(); console.log("==========创建其他图层成功"); resolve(); + this.awaitCanvasRun = null; } // 设置画布对象的裁剪信息