add: DDS virtual component

This commit is contained in:
alivender
2025-05-11 14:41:38 +08:00
parent 6a786c1519
commit 91838ff632
8 changed files with 1722 additions and 26 deletions

View File

@@ -114,9 +114,7 @@
'alert-info'}`">
<span>{{ notificationMessage }}</span>
</div>
</div>
<!-- 加载指示器 -->
</div> <!-- 加载指示器 -->
<div v-if="isLoading" class="absolute inset-0 bg-black bg-opacity-30 flex items-center justify-center z-50">
<div class="loading loading-spinner loading-lg text-primary"></div>
</div>
@@ -1002,10 +1000,26 @@ function setDiagramData(data: DiagramData) {
emit('diagram-updated', data);
}
// 无加载动画的数据更新方法
function updateDiagramDataDirectly(data: DiagramData) {
// 检查组件是否仍然挂载
if (!document.body.contains(canvasContainer.value)) {
return; // 如果组件已经卸载,不执行后续操作
}
diagramData.value = data;
saveDiagramData(data);
// 发出diagram-updated事件
emit('diagram-updated', data);
}
// 暴露方法给父组件
defineExpose({
// 基本数据操作
getDiagramData: () => diagramData.value, setDiagramData: (data: DiagramData) => {
getDiagramData: () => diagramData.value,
updateDiagramDataDirectly,
setDiagramData: (data: DiagramData) => {
// 检查组件是否仍然挂载
if (!document.body.contains(canvasContainer.value)) {
return; // 如果组件已经卸载,不执行后续操作