import * as React from 'react'; import { Item } from 'rc-menu'; import { ClickParam } from '.'; import Tooltip from '../tooltip'; import { SiderContext, SiderContextProps } from '../layout/Sider'; export interface MenuItemProps { rootPrefixCls?: string; disabled?: boolean; level?: number; title?: React.ReactNode; children?: React.ReactNode; className?: string; style?: React.CSSProperties; onClick?: (param: ClickParam) => void; onMouseEnter?: (e: { key: string; domEvent: MouseEvent }) => void; onMouseLeave?: (e: { key: string; domEvent: MouseEvent }) => void; } export default class MenuItem extends React.Component { static isMenuItem = true; private menuItem: this; onKeyDown = (e: React.MouseEvent) => { this.menuItem.onKeyDown(e); }; saveMenuItem = (menuItem: this) => { this.menuItem = menuItem; }; renderItem = ({ siderCollapsed }: SiderContextProps) => { const { level, children, rootPrefixCls } = this.props; const { title, ...rest } = this.props; let titleNode = title || (level === 1 ? children : ''); if (!siderCollapsed) { titleNode = null; } return ( ); }; render() { return {this.renderItem}; } }