UNPKG

zent

Version:

一套前端设计语言和基于React的实现

53 lines (52 loc) 1.9 kB
/// <reference types="react" /> import noop from '../utils/noop'; import CommonMenu from './CommonMenu'; import MenuItem from './MenuItem'; import SubMenu from './SubMenu'; export interface IMenuBaseProps { mode?: 'inline' | 'pop'; onClick?: (e: React.MouseEvent<HTMLDivElement | HTMLLIElement>, key: string) => void; onSubMenuClick?: (id?: string | number) => void; style?: React.CSSProperties; className?: string; } export interface IMenuInlineProps extends IMenuBaseProps { mode: 'inline'; defaultExpandKeys?: string[]; defaultExpandedKeys?: string[]; defaultSelectedKey?: string; expandedKeys?: string[]; onExpandChange?: (expanded?: string[]) => void; selectedKey?: string; onSelectChange?: (selected: string) => void; inlineIndent?: number; } export interface IMenuPopProps extends IMenuBaseProps { mode: 'pop'; } export declare type IMenuProps = IMenuPopProps | IMenuInlineProps; interface IMenuState { selectedKey?: string; expandedKeys?: string[]; prevSelectedKeyProp?: string; prevExpandedKeysProp?: string[]; } export declare class Menu extends CommonMenu<IMenuProps, IMenuState> { static MenuItem: typeof MenuItem; static SubMenu: typeof SubMenu; static defaultProps: { onClick: typeof noop; mode: string; inlineIndent: number; defaultExpandKeys: any[]; onSubMenuClick: typeof noop; }; constructor(props: IMenuProps); static getDerivedStateFromProps(props: IMenuProps, state: IMenuState): Partial<IMenuState>; toggleExpand: (key: string) => void; handleSelect: (key: string) => void; handleClick: (e: React.MouseEvent<HTMLDivElement | HTMLLIElement>, key: string) => void; renderMenuItem: (component: any, index: number) => import("react").DetailedReactHTMLElement<any, HTMLElement>; render(): JSX.Element; } export default Menu;