From 22cad15cb3e723ad9659f560fed6ac38cbb4fa95 Mon Sep 17 00:00:00 2001 From: lhj <403133128@qq.com> Date: Sat, 16 Nov 2024 13:24:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E6=89=93=E5=8C=85?= =?UTF-8?q?=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- preview/views/MainView.vue | 6 +++--- src/components/DynamicComponent.vue | 2 +- src/components/PropertyEditor.vue | 2 +- src/stores/useSchemeStore.ts | 14 ++++++++++++-- tsconfig.json | 1 - 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/preview/views/MainView.vue b/preview/views/MainView.vue index c7e4f7b..620d3f2 100644 --- a/preview/views/MainView.vue +++ b/preview/views/MainView.vue @@ -107,7 +107,7 @@ store.$onAction( onError, // action 抛出或拒绝的钩子 }) => { after((result) => { - // console.log(`store action-${name}回调后:` + result); + // console.log(`store action-${name}回调后:` + JSON.stringify(result)); }); onError((error) => { console.warn(`Failed "${name}" after\nError: ${error}.`); @@ -137,7 +137,7 @@ onMounted(() => { }); function clone(element: Record<'name' | 'id' | 'type' | 'props' | 'class' | 'text' | 'style' | 'slots' | 'visible' | 'disable' | 'children', IComponent>) { - console.log("clone", element); + // console.log("clone", element); return { id: `${element.type}-${uuid()}`, name: element.name, @@ -157,7 +157,7 @@ function clone(element: Record<'name' | 'id' | 'type' | 'props' | 'class' | 'tex } const onEnd = (event: DraggableEvent) => { - // console.log("onEnd", event); + console.log("onEnd", event); store.updateNowScheme(event.clonedData); }; diff --git a/src/components/DynamicComponent.vue b/src/components/DynamicComponent.vue index 32d193d..fee2fbf 100644 --- a/src/components/DynamicComponent.vue +++ b/src/components/DynamicComponent.vue @@ -138,7 +138,7 @@ const adjustHeaderPosition = () => { }; onMounted(() => { - console.log("组件挂载后",props.componentData); + // console.log("组件挂载后",props.componentData); }); watch(() => componentSelected.value, () => { diff --git a/src/components/PropertyEditor.vue b/src/components/PropertyEditor.vue index c8b5235..2a11d81 100644 --- a/src/components/PropertyEditor.vue +++ b/src/components/PropertyEditor.vue @@ -78,7 +78,7 @@ const scheme = computed(() => props.scheme || {} as IPageCompone // 使用 deep 选项来深度监听对象的变化 watch(scheme, (value, oldValue) => { - console.log("scheme Changed", value); + // console.log("scheme Changed", value); if (value) store.updateScheme(value.id, value as IComponent); }, {deep: true}); diff --git a/src/stores/useSchemeStore.ts b/src/stores/useSchemeStore.ts index a60c02e..5d00dc3 100644 --- a/src/stores/useSchemeStore.ts +++ b/src/stores/useSchemeStore.ts @@ -15,6 +15,9 @@ function pushToStack(stack: string[], id: string): void { function popFromStack(stack: string[]): string | undefined { return stack.pop(); } +function topFromStack(stack: string[]): string | undefined { + return stack.at(-1); // 使用 .at() 方法访问最后一个元素 +} function findObjectById(obj: any, targetId: string) { if (Array.isArray(obj)) { @@ -88,14 +91,20 @@ export const useSchemeStore = defineStore('scheme', { } this.saveNewState(currentStateHash); }, + updateNowScheme(updates: Partial) { this.nowComponentsData = updates; pushToStack(this.selectedComponentStack, this.nowComponentsData.id); + + console.log("更新nowComponentsData",this.nowComponentsData); + + console.log("更新selectedComponentStack",this.selectedComponentStack); + + return this.nowComponentsData; }, deleteScheme(id: string) { console.log("删除前,组件id",id) console.log("删除前,栈",this.selectedComponentStack) - const currentStateHash = this.currentHash; const objToDelete = findObjectById(this.previewScheme, id); if (objToDelete) { @@ -108,7 +117,8 @@ export const useSchemeStore = defineStore('scheme', { } this.saveNewState(currentStateHash); popFromStack(this.selectedComponentStack); - const preComponentId=popFromStack(this.selectedComponentStack) + console.log("scheme",this.previewScheme); + const preComponentId=topFromStack(this.selectedComponentStack) console.log("删除后,栈",this.selectedComponentStack) console.log("删除后,前一个组件id",preComponentId) const preObj=this.getSchemeObj(preComponentId) diff --git a/tsconfig.json b/tsconfig.json index 8b88afd..8967c1a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,6 @@ /* Bundler mode */ /* Linting */ "compilerOptions": { - "sourceMap": true, "emitDecoratorMetadata": true, "resolveJsonModule": true, "skipLibCheck": true,