From c7907b42531702575652f082d96b27f55b8d2958 Mon Sep 17 00:00:00 2001 From: SikongJueluo Date: Sat, 17 May 2025 15:49:54 +0800 Subject: [PATCH] fix: Componnent will reset when select of drag --- src/components/DiagramCanvas.vue | 16 ++++++++-------- src/components/PropertyPanel.vue | 13 +++++++++---- src/components/equipments/MotherBoard.vue | 2 +- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/components/DiagramCanvas.vue b/src/components/DiagramCanvas.vue index ef51114..725fe83 100644 --- a/src/components/DiagramCanvas.vue +++ b/src/components/DiagramCanvas.vue @@ -564,14 +564,14 @@ function onComponentDrag(e: MouseEvent) { ); // 更新这些组件的位置 - // for (const groupComp of groupComponents) { - // diagramData.value = updatePartPosition( - // diagramData.value, - // groupComp.id, - // groupComp.x + deltaX, - // groupComp.y + deltaY, - // ); - // } + for (const groupComp of groupComponents) { + diagramData.value = updatePartPosition( + diagramData.value, + groupComp.id, + groupComp.x + deltaX, + groupComp.y + deltaY, + ); + } } // 通知父组件位置已更新 diff --git a/src/components/PropertyPanel.vue b/src/components/PropertyPanel.vue index fa6c397..f5afa6f 100644 --- a/src/components/PropertyPanel.vue +++ b/src/components/PropertyPanel.vue @@ -209,7 +209,7 @@ function updateDDSProperties(newProperties: any) { } // 存储当前选中组件的能力组件 -const capabilityComponent = shallowRef(null); +const capabilityComponent = shallowRef(); // 获取组件实例上暴露的方法 async function getExposedCapabilities(componentType: string) { @@ -275,12 +275,17 @@ watch( if (newComponentData && newComponentData.type) { try { // 首先尝试从实例中获取暴露的方法 - const capsComponent = await getExposedCapabilities( - newComponentData.type, - ); + let capsComponent = null; + if (!isUndefined( newComponentData.capsPage ) && !isNull(newComponentData.capsPage)) { + capsComponent = newComponentData.capsPage; + capabilityComponent.value = markRaw(capsComponent); + } + else + capsComponent = await getExposedCapabilities(newComponentData.type); if (capsComponent) { capabilityComponent.value = markRaw(capsComponent); + newComponentData.capsPage = capsComponent; console.log(`已从实例加载${newComponentData.type}组件的能力页面`); return; } diff --git a/src/components/equipments/MotherBoard.vue b/src/components/equipments/MotherBoard.vue index 10fc9a9..b5ac1c8 100644 --- a/src/components/equipments/MotherBoard.vue +++ b/src/components/equipments/MotherBoard.vue @@ -34,7 +34,7 @@ const eqps = useEquipments(); const bitstreamFile = ref(); watchEffect(() => { - console.log( + console.trace( `board监听改动: ${props.size} ${props.boardAddr}:${props.boardPort}`, ); eqps.setAddr(props.boardAddr);