import { RouteComponentProps as BasicRouteProps } from 'react-router-dom'; export type MenuDataItem = { /** @name 子菜单 */ children?: MenuDataItem[]; /** @name 在菜单中隐藏子节点 */ hideChildrenInMenu?: boolean; /** @name 在菜单中隐藏自己和子节点 */ hideInMenu?: boolean; /** @name 菜单的icon */ icon?: React.ReactNode; /** @name 显示在右边的记号,为 string 时默认使用 NewBadge 组件 */ badge?: React.ReactNode; /** @name 当前菜单路由下排除的路由数组,不会显示选中 */ excludePaths?: string[]; /** @name 菜单的名字 */ name?: string; /** @name disable 菜单选项 */ disabled?: boolean; /** @name 路径,可以设定为网页链接 */ path?: string; /** 外部控制是否选中 */ selected?: boolean; // /** @name 指定外链打开形式,同a标签 */ // target?: string; [key: string]: any; }; export type Route = { routes?: Route[]; } & MenuDataItem; export type MessageDescriptor = { id: any; description?: string; defaultMessage?: string; }; export type RouterTypes = { route?: Route; location: BasicRouteProps['location'] | { pathname?: string }; } & Omit;