diff --git a/packages/design/src/_util/getEllipsisConfig.ts b/packages/design/src/_util/getEllipsisConfig.ts index 3993f4dfc..cf444645c 100644 --- a/packages/design/src/_util/getEllipsisConfig.ts +++ b/packages/design/src/_util/getEllipsisConfig.ts @@ -1,27 +1,27 @@ import React, { isValidElement } from 'react'; import type { ReactElement, ReactNode } from 'react'; import type { EllipsisConfig } from '../typography'; -import type { TooltipPlacement } from '../tooltip'; export type Ellipsis = boolean | EllipsisConfig; export function getEllipsisConfig(ellipsis?: Ellipsis, children?: ReactNode): Ellipsis { const childrenType = (children as ReactElement)?.type as any; - return typeof ellipsis === 'object' - ? { - ...ellipsis, - tooltip: - // 如果目标元素已经被 Tooltip 包裹,则去掉默认的 Tooltip,避免有两个 Tooltip - childrenType?.__ANT_TOOLTIP - ? undefined - : { - // TooltipProps - ...(typeof ellipsis.tooltip === 'object' && !isValidElement(ellipsis.tooltip) - ? ellipsis.tooltip - : { - title: ellipsis.tooltip, - }), - }, - } - : ellipsis; + if (typeof ellipsis === 'object' && ellipsis !== null) { + return { + ...ellipsis, + tooltip: + // 如果目标元素已经被 Tooltip 包裹,则去掉默认的 Tooltip,避免有两个 Tooltip + childrenType?.__ANT_TOOLTIP + ? undefined + : { + // TooltipProps + ...(typeof ellipsis.tooltip === 'object' && !isValidElement(ellipsis.tooltip) + ? ellipsis.tooltip + : { + title: ellipsis.tooltip, + }), + }, + }; + } + return ellipsis ?? false; }