@ant-design/pro-layout
Version:
45 lines (44 loc) • 2.14 kB
TypeScript
import './index.less';
import React from 'react';
import type { HeaderViewProps } from '../../Header';
import type { SiderMenuProps, PrivateSiderMenuProps } from '../SiderMenu/SiderMenu';
import type { PureSettings } from '../../defaultSettings';
import type { MenuDataItem } from '../../index';
import type { WithFalse } from '../../typings';
export declare type GlobalHeaderProps = {
collapsed?: boolean;
onCollapse?: (collapsed: boolean) => void;
isMobile?: boolean;
logo?: React.ReactNode;
/**
* @name 虽然叫menuRender,但是其实是整个 SiderMenu 面板的渲染函数
*
* @example 收起时完成不展示菜单 menuRender={(props,defaultDom)=> props.collapsed ? null : defaultDom}
* @example 不展示菜单 menuRender={false}
*/
menuRender?: WithFalse<(props: HeaderViewProps, defaultDom: React.ReactNode) => React.ReactNode>;
/**
* @name 右侧顶部操作区域的渲染逻辑,一般会展示一个头像和一些操作
*
* @example 展示一个头像: rightRender={(props) => <Avatar shape="square" size="small" icon={<UserOutlined />} />}
* @example 展示一些操作: rightRender={(props) => [<Button type="primary">操作</Button>,<Button type="primary">管理控制台</Button>]}
*/
rightContentRender?: WithFalse<(props: HeaderViewProps) => React.ReactNode>;
className?: string;
prefixCls?: string;
menuData?: MenuDataItem[];
onMenuHeaderClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
style?: React.CSSProperties;
menuHeaderRender?: SiderMenuProps['menuHeaderRender'];
/**
* @name 顶部区域的渲染,包含内部的 menu
*
* @example headerContentRender={(props) => <div>管理控制台 </div>}
*/
headerContentRender?: WithFalse<(props: HeaderViewProps, defaultDom: React.ReactNode) => React.ReactNode>;
collapsedButtonRender?: SiderMenuProps['collapsedButtonRender'];
splitMenus?: boolean;
children?: React.ReactNode;
} & Partial<PureSettings>;
declare const GlobalHeader: React.FC<GlobalHeaderProps & PrivateSiderMenuProps>;
export default GlobalHeader;