Parcourir la source

fix(modal): ensure that the height is correct in the modal full screen state close #308

Vben il y a 4 ans
Parent
commit
37508ca411
1 fichiers modifiés avec 15 ajouts et 3 suppressions
  1. 15 3
      src/components/Modal/src/BasicModal.vue

+ 15 - 3
src/components/Modal/src/BasicModal.vue

@@ -32,7 +32,7 @@
       ref="modalWrapperRef"
       :loading="getProps.loading"
       :minHeight="getProps.minHeight"
-      :height="getProps.height"
+      :height="getWrapperHeight"
       :visible="visibleRef"
       :modalFooterHeight="footer !== undefined && !footer ? 0 : undefined"
       v-bind="omit(getProps.wrapperProps, 'visible', 'height')"
@@ -136,8 +136,19 @@
         }
       );
 
-      const getBindValue = computed((): any => {
-        return { ...attrs, ...unref(getProps) };
+      const getBindValue = computed(
+        (): Recordable => {
+          const attr = { ...attrs, ...unref(getProps) };
+          if (unref(fullScreenRef)) {
+            return omit(attr, 'height');
+          }
+          return attr;
+        }
+      );
+
+      const getWrapperHeight = computed(() => {
+        if (unref(fullScreenRef)) return undefined;
+        return unref(getProps).height;
       });
 
       watchEffect(() => {
@@ -217,6 +228,7 @@
         handleExtHeight,
         handleHeightChange,
         handleTitleDbClick,
+        getWrapperHeight,
       };
     },
   });