header-sider-layout
Version:
ant-design-pro layout, based on pro-layout, with header and sider layout.
39 lines (38 loc) • 1.83 kB
TypeScript
/// <reference types="lodash" />
import React, { Component } from 'react';
import { MenuProps } from 'antd/lib/menu';
import './index.less';
import { WithFalse } from '../typings';
import { BaseMenuProps } from './BaseMenu';
export declare const defaultRenderLogo: (logo: React.ReactNode) => React.ReactNode;
export declare const defaultRenderLogoAndTitle: (logo: React.ReactNode, title: React.ReactNode, menuHeaderRender: false | ((logo: React.ReactNode, title: React.ReactNode) => React.ReactNode) | undefined) => React.ReactNode;
export interface SiderMenuProps extends Pick<BaseMenuProps, Exclude<keyof BaseMenuProps, ['onCollapse']>> {
logo?: React.ReactNode;
siderWidth?: number;
menuHeaderRender?: WithFalse<(logo: React.ReactNode, title: React.ReactNode) => React.ReactNode>;
onMenuHeaderClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
collapsedButtonRender?: WithFalse<(collapsed?: boolean) => React.ReactNode>;
/**
* 要给菜单的props, 参考antd-menu的属性。https://ant.design/components/menu-cn/
*/
menuProps?: MenuProps;
}
interface SiderMenuState {
pathname?: string;
openKeys?: string[] | false;
flatMenuKeysLen?: number;
}
export default class SiderMenu extends Component<SiderMenuProps, SiderMenuState> {
static defaultProps: Partial<SiderMenuProps>;
static getDerivedStateFromProps(props: SiderMenuProps, state: SiderMenuState): SiderMenuState | null;
constructor(props: SiderMenuProps);
triggerResizeEvent: (() => void) & import("lodash").Cancelable;
componentDidMount(): void;
componentWillUnmount(): void;
isMainMenu: (key: string) => boolean;
handleOpenChange: (openKeys: string[]) => void;
toggle: () => void;
renderCollapsedButton: () => JSX.Element | null;
render(): React.ReactNode;
}
export {};