import type { ReactNode, ReactElement } from 'react'; import React from 'react'; import './index.less'; export declare type OverflowItem = Record; export declare type OverflowListProps = { /** * @description 样式类名 */ className?: string; /** * @description 样式 */ style?: React.CSSProperties; } & { /** * @description 需要折叠的子元素列表 * @type ReactNode[] * @default 必填 */ items: OverflowItem[]; /** * @description 父级容器宽度 * @default undefined 传入后将取消resize监听,需要由外部传入宽度进行计算 */ parentWidth?: number; /** * @description 溢出回调 */ onOverflow?: (overflowItems: OverflowItem[]) => void; /** * @description 溢出项的自定义渲染函数 * @default `+${overflowItems.length}` */ overflowRenderer?: (overflowItems: OverflowItem[]) => ReactNode | ReactNode[]; /** * @description 溢出项的默认渲染模式 * @default text */ overflowMode?: 'text' | 'tag'; /** * @description 溢出项的渲染样式(overflowMode为tag时有效) */ overflowTagStyle?: React.CSSProperties; /** * @description 溢出项的弹层列表 * @default true */ overflowPopup?: boolean; /** * @description 溢出项的弹层最大个数 * @default 99(建议单数, 如果超过, 则会出现省略号, 会占一个单元格) */ maxPopupCount?: number; /** * @description 单个展示项的自定义渲染函数 */ visibleItemRenderer?: (item: OverflowItem, index: number) => ReactElement; /** * @description 点击溢出项的回调 */ onClick?: (item: OverflowItem[]) => void; }; declare const OverflowList: React.FC; export default OverflowList;