import './index.less'; import React, { Component } from 'react'; import { MenuMode, MenuProps } from 'antd/es/menu'; import { MenuTheme } from 'antd/es/menu/MenuContext'; import { Settings } from '../defaultSettings'; import { MenuDataItem, MessageDescriptor, Route, RouterTypes, WithFalse } from '../typings'; export interface BaseMenuProps extends Partial>, Omit, Partial { className?: string; collapsed?: boolean; flatMenuKeys?: string[]; handleOpenChange?: (openKeys: string[]) => void; isMobile?: boolean; menuData?: MenuDataItem[]; mode?: MenuMode; onCollapse?: (collapsed: boolean) => void; onOpenChange?: (openKeys: string[]) => void; openKeys?: WithFalse; style?: React.CSSProperties; theme?: MenuTheme; formatMessage?: (message: MessageDescriptor) => string; subMenuItemRender?: WithFalse<(item: MenuDataItem & { isUrl: boolean; }, defaultDom: React.ReactNode) => React.ReactNode>; menuItemRender?: WithFalse<(item: MenuDataItem & { isUrl: boolean; }, defaultDom: React.ReactNode) => React.ReactNode>; menuProps?: MenuProps; } export default class BaseMenu extends Component { static defaultProps: Partial; warp: HTMLDivElement | undefined; constructor(props: BaseMenuProps); state: {}; static getDerivedStateFromProps(props: BaseMenuProps): null; /** * 获得菜单子节点 */ getSelectedMenuKeys: (pathname?: string | undefined) => string[]; /** * get SubMenu or Item */ getSubMenuOrItem: (item: MenuDataItem) => React.ReactNode; getIntlName: (item: MenuDataItem) => string | undefined; /** * 判断是否是http链接.返回 Link 或 a * Judge whether it is http link.return a or Link * @memberof SiderMenu */ getMenuItemPath: (item: MenuDataItem) => {} | null | undefined; conversionPath: (path: string) => string; getPopupContainer: (fixedHeader: boolean, layout: string) => HTMLElement; getRef: (ref: HTMLDivElement) => void; render(): React.ReactNode; }