import { CnPageScrollDomSelector } from '@/constant/page'; type IPopupContainer = | string | HTMLElement | ((target: HTMLElement) => HTMLElement); export function getPopupContainer( popupContainer: IPopupContainer, ): IPopupContainer; export function getPopupContainer( popupContainer?: null, ): (target?: HTMLElement | Element) => HTMLElement; /** * 弹层挂载的容器节点 */ export function getPopupContainer( popupContainer?: IPopupContainer, ): IPopupContainer | ((target: HTMLElement) => HTMLElement) { if (popupContainer) return popupContainer; return (target?: HTMLElement): HTMLElement => { if (!target) return document.body; return target.closest(CnPageScrollDomSelector) || document.body; }; }