From 028b80873cb6179172ceb79d44022e6cd76b8ebf Mon Sep 17 00:00:00 2001 From: chilingling <26962197+chilingling@users.noreply.github.com> Date: Wed, 25 Dec 2024 03:46:56 -0800 Subject: [PATCH] fix: resolve some schema update issue (#956) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: resolve some schema update issue 1. 调整画布宽度时,画布选中框不及时更新的 bug 2. 空页面的时候,拖拽组件到画布提示两次新建页面的 bug 3. importSchema 的时候,清空选择 4. 页面 schema 保存的时候,设置保存状态为 false 5. 增强 AdvanceConfig 配置对 props 的容错 * fix: updateRect async change to callback style * fix: first time enter app should show empty page warning --- packages/canvas/DesignCanvas/src/DesignCanvas.vue | 3 ++- packages/canvas/DesignCanvas/src/api/useCanvas.js | 2 ++ .../canvas/container/src/components/CanvasResize.vue | 11 ++++++++++- packages/plugins/schema/src/Main.vue | 6 +++++- .../settings/events/src/components/AdvanceConfig.vue | 2 +- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/packages/canvas/DesignCanvas/src/DesignCanvas.vue b/packages/canvas/DesignCanvas/src/DesignCanvas.vue index 295c6fde6..bb34022cd 100644 --- a/packages/canvas/DesignCanvas/src/DesignCanvas.vue +++ b/packages/canvas/DesignCanvas/src/DesignCanvas.vue @@ -96,10 +96,11 @@ export default { // 1. 页面或区块状态是未保存状态(尝试编辑) // 2. 页面刷新或第一次进入页面(含从别的页面或区块切换到别的页面或区块) // 3. 页面上已经有弹窗,不允许重复弹窗 + // 4. 当前历史堆栈为0,且当前未保存状态和上一次未保存状态不一致,不重复弹窗 const showConfirm = !isSaved || pageSchema !== oldPageSchema - if (!showConfirm || showModal) { + if (!showConfirm || showModal || (useHistory().historyState?.index === 0 && isSaved !== oldIsSaved)) { return } diff --git a/packages/canvas/DesignCanvas/src/api/useCanvas.js b/packages/canvas/DesignCanvas/src/api/useCanvas.js index 9c0c6a3b8..dfe347fd8 100644 --- a/packages/canvas/DesignCanvas/src/api/useCanvas.js +++ b/packages/canvas/DesignCanvas/src/api/useCanvas.js @@ -518,6 +518,8 @@ const importSchema = (data) => { resetCanvasState({ pageSchema: importData }) + + canvasApi.value?.clearSelect?.() } const exportSchema = () => { diff --git a/packages/canvas/container/src/components/CanvasResize.vue b/packages/canvas/container/src/components/CanvasResize.vue index 68a11894d..87da4c0cc 100644 --- a/packages/canvas/container/src/components/CanvasResize.vue +++ b/packages/canvas/container/src/components/CanvasResize.vue @@ -11,7 +11,7 @@