• Breadcrumb 面包屑

    显示当前页面在系统层级结构中的位置,并能向上返回。

    何时使用

    代码演示

    最简单的用法。
    expand code expand code
    import { Breadcrumb } from 'choerodon-ui';
    
    ReactDOM.render(
      <Breadcrumb>
        <Breadcrumb.Item>Home</Breadcrumb.Item>
        <Breadcrumb.Item><a href="">Application Center</a></Breadcrumb.Item>
        <Breadcrumb.Item><a href="">Application List</a></Breadcrumb.Item>
        <Breadcrumb.Item>An Application</Breadcrumb.Item>
      </Breadcrumb>,
      mountNode);
    
    使用 separator=">" 可以自定义分隔符。
    expand code expand code
    import { Breadcrumb } from 'choerodon-ui';
    
    ReactDOM.render(
      <Breadcrumb separator=">">
        <Breadcrumb.Item>Home</Breadcrumb.Item>
        <Breadcrumb.Item href="">Application Center</Breadcrumb.Item>
        <Breadcrumb.Item href="">Application List</Breadcrumb.Item>
        <Breadcrumb.Item>An Application</Breadcrumb.Item>
      </Breadcrumb>,
      mountNode);
    
    图标放在文字前面。
    expand code expand code
    import { Breadcrumb, Icon } from 'choerodon-ui';
    
    ReactDOM.render(
      <Breadcrumb>
        <Breadcrumb.Item href="">
          <Icon type="home" />
        </Breadcrumb.Item>
        <Breadcrumb.Item href="">
          <Icon type="user" />
          <span>Application List</span>
        </Breadcrumb.Item>
        <Breadcrumb.Item>
          Application
        </Breadcrumb.Item>
      </Breadcrumb>,
      mountNode);
    

    API

    参数说明类型可选值默认值
    itemRender自定义链接函数,和 react-router 配置使用(route, params, routes, paths) => ReactNode-
    params路由的参数object-
    routesrouter 的路由栈信息object[]-
    separator分隔符自定义string|ReactNode’/’

    2.0 之后,linkRendernameRender 被移除,请使用 itemRender 来代替。

    和 browserHistory 配合

    和 react-router 一起使用时,默认生成的 url 路径是带有 # 的,如果和 browserHistory 一起使用的话,你可以使用 itemRender 属性定义面包屑链接。

    import { Link } from 'react-router';
    
    const routes = [{
      path: 'index',
      breadcrumbName: '首页'
    }, {
      path: 'first',
      breadcrumbName: '一级面包屑'
    }, {
      path: 'second',
      breadcrumbName: '当前页面'
    }];
    function itemRender(route, params, routes, paths) {
      const last = routes.indexOf(route) === routes.length - 1;
      return last ? <span>{route.breadcrumbName}</span> : <Link to={paths.join('/')}>{route.breadcrumbName}</Link>;
    }
    
    return <Breadcrumb itemRender={itemRender} routes={routes}/>;