import React from 'react'; import { Link }from 'react-router-dom'; import { Breadcrumb } from 'antd'; //具体导航的名称
const breadcrumbNameMap = { '/user':'用户管理', '/user/user_info':'用户信息', '/user/user_info/user_detail':'用户详情', '/user/user_pool':'用户池', '/user/user_pool/user_detail':'用户详情', '/user/my_user':'我的用户', '/user/my_user/user_detail':'用户详情', } export default class NewBreadcrumb extends React.Component {
constructor(props) { super(props); this.state={ pathSnippets: null, extraBreadcrumbItems: null, } } getPath = () => { //对路径进行切分,存放到this.state.pathSnippets中 this.state.pathSnippets = this.props.pathname.split('/').filter(i => i); // let arr=this.state.pathSnippets; // let pathname=this.context.router.history.location.pathname; //将切分的路径读出来,形成面包屑,存放到this.state.extraBreadcrumbItems this.state.extraBreadcrumbItems = this.state.pathSnippets.map((_, index) => { let url = `/${this.state.pathSnippets.slice(0, index + 1).join('/')}`; return ( <Breadcrumb.Item key={url}> <Link to={url}> {breadcrumbNameMap[url]} </Link> </Breadcrumb.Item> ); }); } componentWillMount() { this.getPath(); } render() { return <Breadcrumb>{this.state.extraBreadcrumbItems}</Breadcrumb>; } }