diff --git a/packages/nc-gui/components/smartsheet/expanded-form/index.vue b/packages/nc-gui/components/smartsheet/expanded-form/index.vue index ae8c2dd4c5..8721c1f3f8 100644 --- a/packages/nc-gui/components/smartsheet/expanded-form/index.vue +++ b/packages/nc-gui/components/smartsheet/expanded-form/index.vue @@ -416,7 +416,22 @@ const showRightSections = computed(() => { return !isNew.value && commentsDrawer.value && isUIAllowed('commentList') }) -const preventModalStatus = computed(() => isCloseModalOpen.value || isPreventChangeModalOpen.value) +const preventModalStatus = computed({ + get: () => isCloseModalOpen.value || isPreventChangeModalOpen.value, + set: (v) => { + isCloseModalOpen.value = v + }, +}) + +const onIsExpandedUpdate = (v: boolean) => { + if (changedColumns.value.size === 0 && !isUnsavedFormExist.value) { + isExpanded.value = v + } else if (!v) { + preventModalStatus.value = true + } else { + isExpanded.value = v + } +}