add: DDS virtual component
This commit is contained in:
@@ -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; // 如果组件已经卸载,不执行后续操作
|
||||
|
||||
Reference in New Issue
Block a user