import React from 'react'; import { PopoverProps } from '../Popover'; export type TPopMenuDirection = 'left' | 'right'; export interface PopMenuListItemProps { /** 禁用 */ disabled?: boolean; /** 禁用提示 */ disabledTip?: string; /** key */ name: string; /** title */ title?: string; /** 帮助提示 */ help?: string; /** 自定义渲染 */ render?: (handle: IPopMenuHandler) => React.ReactElement; /** 菜单点击事件 */ onClick?: (name: string, item?: PopMenuListItemProps, path?: string[]) => void; /** 子菜单 */ children?: PopMenuListItemProps[]; } export interface IPopMenuHandler { /** 关闭菜单的方法 */ closeMenu: () => void; } export type PopMenuGroupItemProps = { list: PopMenuListItemProps[]; }; export interface PopMenuListProps { /** 菜单方向 左,右 */ direction?: TPopMenuDirection; /** 菜单列表 */ list: PopMenuListItemProps[]; /** className */ className?: string; /** style */ style?: React.CSSProperties; } export type TPopMenuValue = string[]; export interface PopMenuProps extends PopoverProps { /** 菜单方向 左,右 */ direction?: TPopMenuDirection; /** 菜单数据源 */ data: PopMenuListItemProps[] | PopMenuGroupItemProps[]; /** menu className */ menuClassName?: string; /** menu style */ menuStyle?: React.CSSProperties; /** content className */ contentClassName?: string; /** content style */ contentStyle?: React.CSSProperties; /** value */ value?: TPopMenuValue; /** onChange */ onChange?: (value: TPopMenuValue) => void; /** path,记录菜单路径 */ path?: string[]; /** 点击事件 */ onClick?: (name: string, item?: PopMenuListItemProps, path?: string[]) => void; }