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 @@