Explorar o código

fix(table): fix `dataPicker` show in `fullscreen` mode

修复basicTable编辑组件的校验提示以及日期选择框的弹出层在全屏模式下的显示问题
无木 %!s(int64=3) %!d(string=hai) anos
pai
achega
a5a9b3fb34

+ 13 - 2
src/components/Table/src/components/editable/CellComponent.ts

@@ -10,10 +10,17 @@ export interface ComponentProps {
   rule: boolean;
   popoverVisible: boolean;
   ruleMessage: string;
+  getPopupContainer?: Fn;
 }
 
 export const CellComponent: FunctionalComponent = (
-  { component = 'Input', rule = true, ruleMessage, popoverVisible }: ComponentProps,
+  {
+    component = 'Input',
+    rule = true,
+    ruleMessage,
+    popoverVisible,
+    getPopupContainer,
+  }: ComponentProps,
   { attrs }
 ) => {
   const Comp = componentMap.get(component) as typeof defineComponent;
@@ -24,7 +31,11 @@ export const CellComponent: FunctionalComponent = (
   }
   return h(
     Popover,
-    { overlayClassName: 'edit-cell-rule-popover', visible: !!popoverVisible },
+    {
+      overlayClassName: 'edit-cell-rule-popover',
+      visible: !!popoverVisible,
+      ...(getPopupContainer ? { getPopupContainer } : {}),
+    },
     {
       default: () => DefaultComp,
       content: () => ruleMessage,

+ 1 - 0
src/components/Table/src/components/editable/EditableCell.vue

@@ -114,6 +114,7 @@
 
         return {
           getPopupContainer: () => unref(table?.wrapRef.value) ?? document.body,
+          getCalendarContainer: () => unref(table?.wrapRef.value) ?? document.body,
           placeholder: createPlaceholderMessage(unref(getComponent)),
           ...apiSelectProps,
           ...omit(compProps, 'onChange'),