|
|
@@ -60,21 +60,25 @@ export default class PageHeader extends PureComponent {
|
|
|
// Generated according to props
|
|
|
conversionFromProps = () => {
|
|
|
const { breadcrumbList, breadcrumbSeparator, linkElement = 'a' } = this.props;
|
|
|
+
|
|
|
return (
|
|
|
<Breadcrumb className={styles.breadcrumb} separator={breadcrumbSeparator}>
|
|
|
- {breadcrumbList.map(item => (
|
|
|
- <Breadcrumb.Item key={item.title}>
|
|
|
- {item.href
|
|
|
- ? createElement(
|
|
|
- linkElement,
|
|
|
- {
|
|
|
- [linkElement === 'a' ? 'href' : 'to']: item.href,
|
|
|
- },
|
|
|
- item.title
|
|
|
- )
|
|
|
- : item.title}
|
|
|
- </Breadcrumb.Item>
|
|
|
- ))}
|
|
|
+ {breadcrumbList.map(item => {
|
|
|
+ const title = this.props.itemRender ? this.props.itemRender(item) : item.title;
|
|
|
+ return (
|
|
|
+ <Breadcrumb.Item key={item.title}>
|
|
|
+ {item.href
|
|
|
+ ? createElement(
|
|
|
+ linkElement,
|
|
|
+ {
|
|
|
+ [linkElement === 'a' ? 'href' : 'to']: item.href,
|
|
|
+ },
|
|
|
+ title
|
|
|
+ )
|
|
|
+ : title}
|
|
|
+ </Breadcrumb.Item>
|
|
|
+ );
|
|
|
+ })}
|
|
|
</Breadcrumb>
|
|
|
);
|
|
|
};
|
|
|
@@ -85,14 +89,18 @@ export default class PageHeader extends PureComponent {
|
|
|
const pathSnippets = urlToList(routerLocation.pathname);
|
|
|
// Loop data mosaic routing
|
|
|
const extraBreadcrumbItems = pathSnippets.map((url, index) => {
|
|
|
+ console.log(url);
|
|
|
const currentBreadcrumb = getBreadcrumb(breadcrumbNameMap, url);
|
|
|
const isLinkable = index !== pathSnippets.length - 1 && currentBreadcrumb.component;
|
|
|
+ const name = this.props.itemRender
|
|
|
+ ? this.props.itemRender(currentBreadcrumb)
|
|
|
+ : currentBreadcrumb.name;
|
|
|
return currentBreadcrumb.name && !currentBreadcrumb.hideInBreadcrumb ? (
|
|
|
<Breadcrumb.Item key={url}>
|
|
|
{createElement(
|
|
|
isLinkable ? linkElement : 'span',
|
|
|
{ [linkElement === 'a' ? 'href' : 'to']: url },
|
|
|
- currentBreadcrumb.name
|
|
|
+ name
|
|
|
)}
|
|
|
</Breadcrumb.Item>
|
|
|
) : null;
|