diff --git a/src/components/Table/src/components/editable/CellComponent.ts b/src/components/Table/src/components/editable/CellComponent.ts index 897954f0a49..231f3256cb2 100644 --- a/src/components/Table/src/components/editable/CellComponent.ts +++ b/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, diff --git a/src/components/Table/src/components/editable/EditableCell.vue b/src/components/Table/src/components/editable/EditableCell.vue index f8f648ea927..15bcf505a35 100644 --- a/src/components/Table/src/components/editable/EditableCell.vue +++ b/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'),