import { Skeleton, Tabs } from 'antd'; import classNames from 'classnames'; import React from 'react'; import BreadcrumbView from './breadcrumb'; import styles from './index.less'; const { TabPane } = Tabs; export interface PageHeaderProps { title?: string | number; logo?: React.ReactNode | string; action?: React.ReactNode | string; content?: React.ReactNode; extraContent?: React.ReactNode; routes?: any[]; params?: any; breadcrumbList?: Array<{ title: string | number; href?: string }>; tabList?: Array<{ key: string; tab: React.ReactNode }>; tabActiveKey?: string; tabDefaultActiveKey?: string; onTabChange?: (key: string) => void; tabBarExtraContent?: React.ReactNode; linkElement?: React.ReactNode | string; style?: React.CSSProperties; home?: React.ReactNode; wide?: boolean; hiddenBreadcrumb?: boolean; itemRender?: (item: any) => string; className?: string; loading?: boolean; location?: Location; breadcrumbNameMap?: object; breadcrumbSeparator?: React.ReactNode; } const PageHeader: React.FC = props => { const { title = '', logo, action, content, extraContent, tabList, className, tabActiveKey, tabDefaultActiveKey, tabBarExtraContent, loading = false, onTabChange = () => void 0, wide = false, hiddenBreadcrumb = false, } = props; const clsString = classNames(styles.pageHeader, className); const activeKeyProps: any = {}; if (tabDefaultActiveKey !== undefined) { activeKeyProps.defaultActiveKey = tabDefaultActiveKey; } if (tabActiveKey !== undefined) { activeKeyProps.activeKey = tabActiveKey; } return (
{hiddenBreadcrumb ? null : }
{logo &&
{logo}
}

{title}

{action &&
{action}
}
{content &&
{content}
} {extraContent &&
{extraContent}
}
{tabList && tabList.length ? ( {tabList.map(item => ( ))} ) : null}
); }; export default PageHeader;