diff --git a/frontend/src/views/dashboard/common/ResourceTree.vue b/frontend/src/views/dashboard/common/ResourceTree.vue index 6610257c..c21678a5 100644 --- a/frontend/src/views/dashboard/common/ResourceTree.vue +++ b/frontend/src/views/dashboard/common/ResourceTree.vue @@ -158,7 +158,7 @@ const afterTreeInit = () => { } const copyLoading = ref(false) -const emit = defineEmits(['nodeClick']) +const emit = defineEmits(['nodeClick', 'deleteCurResource']) function createNewObject() { addOperation({ opt: 'newLeaf' }) @@ -230,7 +230,8 @@ const operation = (opt: string, data: SQTreeNode) => { dashboardApi.delete_resource({ id: data.id }).then(() => { ElMessage.success(t('dashboard.delete_success')) getTree() - dashboardStore.setCurComponent(null) + dashboardStore.canvasDataInit() + emit('deleteCurResource') }) }) } else if (opt === 'rename') { diff --git a/frontend/src/views/dashboard/preview/SQPreviewShow.vue b/frontend/src/views/dashboard/preview/SQPreviewShow.vue index d89b887b..84bb5e81 100644 --- a/frontend/src/views/dashboard/preview/SQPreviewShow.vue +++ b/frontend/src/views/dashboard/preview/SQPreviewShow.vue @@ -48,6 +48,13 @@ const mounted = computed(() => { function createNew() { resourceTreeRef.value?.createNewObject() } + +const stateInit = () => { + state.canvasDataPreview = [] + state.canvasStylePreview = {} + state.canvasViewInfoPreview = {} + state.dashboardInfo = {} +} const loadCanvasData = (params: any) => { dataInitState.value = false load_resource_prepare( @@ -100,6 +107,7 @@ defineExpose({ :cur-canvas-type="'dashboard'" :show-position="showPosition" @node-click="resourceNodeClick" + @delete-cur-resource="stateInit" />