import React from 'react'; import { FormattedMessage } from 'umi-plugin-react/locale'; import Link from 'umi/link'; import { PageHeader, Tabs, Typography } from 'antd'; import { connect } from 'dva'; import classNames from 'classnames'; import GridContent from './GridContent'; import styles from './index.less'; import MenuContext from '@/layouts/MenuContext'; import { conversionBreadcrumbList } from './breadcrumb'; const { Title } = Typography; /** * render Footer tabList * In order to be compatible with the old version of the PageHeader * basically all the functions are implemented. */ const renderFooter = ({ tabList, tabActiveKey, onTabChange, tabBarExtraContent }) => { return tabList && tabList.length ? ( { if (onTabChange) { onTabChange(key); } }} tabBarExtraContent={tabBarExtraContent} > {tabList.map(item => ( ))} ) : null; }; const PageHeaderWrapper = ({ children, contentWidth, wrapperClassName, top, title, content, logo, extraContent, hiddenBreadcrumb, ...restProps }) => { return (
{top} {value => { return ( {title} } key="pageheader" {...restProps} breadcrumb={ !hiddenBreadcrumb && conversionBreadcrumbList({ ...value, ...restProps, home: , }) } className={styles.pageHeader} linkElement={Link} footer={renderFooter(restProps)} >
{logo &&
{logo}
}
{content &&
{content}
} {extraContent &&
{extraContent}
}
); }}
{children ? (
{children}
) : null}
); }; export default connect(({ setting }) => ({ contentWidth: setting.contentWidth, }))(PageHeaderWrapper);