Breadcrumb 面包屑

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

何时使用#

  • 当系统拥有超过两级以上的层级结构时;
  • 当需要告知用户“你在哪里”时;
  • 当需要向上导航的功能时。

API#

<Breadcrumb>
  <Breadcrumb.Item>首页</Breadcrumb.Item>
  <Breadcrumb.Item href="">应用中心</Breadcrumb.Item>
  <Breadcrumb.Item href="">应用列表</Breadcrumb.Item>
  <Breadcrumb.Item>某应用</Breadcrumb.Item>
</Breadcrumb>
参数 说明 类型 可选值 默认值
router 可传入 react-router 的实例 Object -
routes router 的路由栈信息 Array -
params 路由的参数 Object -
separator 分隔符自定义 String or Element '/'
参数 说明 类型 可选值 默认值
href 链接,如不传则不可点击 string -

代码演示

import { Breadcrumb } from 'antd';

ReactDOM.render(
  <Breadcrumb>
    <Breadcrumb.Item>首页</Breadcrumb.Item>
    <Breadcrumb.Item href="">应用中心</Breadcrumb.Item>
    <Breadcrumb.Item href="">应用列表</Breadcrumb.Item>
    <Breadcrumb.Item>某应用</Breadcrumb.Item>
  </Breadcrumb>
, mountNode);

最简单的用法,存在 href 表示可点。

const ReactRouter = require('react-router');
let { Router, Route, Link } = ReactRouter;
import { Breadcrumb } from 'antd';

const Apps = React.createClass({
  render() {
    return <ul className="app-list">
      <li><Link to="/apps/1">应用1</Link></li>
      <li><Link to="/apps/2">应用2</Link></li>
    </ul>;
  }
});

const Home = React.createClass({
  render() {
    return (<div>
      <div className="demo-nav">
        <Link to="/">首页</Link>
        <Link to="/apps">应用列表</Link>
      </div>
      {this.props.children || 'Home'}
      <div style={{
        marginBottom: 15,
        marginTop: 15,
        paddingBottom: 15,
        borderBottom: '1px dashed #ccc'
      }}>点击上面的导航切换页面,面包屑在下面:</div>
      <Breadcrumb {...this.props} router={ReactRouter} />
    </div>);
  }
});

ReactDOM.render((
  <Router>
    <Route name="home" breadcrumbName="首页" path="/" component={Home}>
      <Route name="apps" breadcrumbName="应用列表" path="apps" component={Apps}>
        <Route name="app" breadcrumbName="应用:id" path=":id" />
      </Route>
    </Route>
  </Router>
), mountNode);

react-router@1.x 进行结合使用。

import { Breadcrumb, Icon } from 'antd';

ReactDOM.render(
  <Breadcrumb>
    <Breadcrumb.Item href="">
      <Icon type="home" />
    </Breadcrumb.Item>
    <Breadcrumb.Item href="">
      <Icon type="user" />
      应用列表
    </Breadcrumb.Item>
    <Breadcrumb.Item>
      应用
    </Breadcrumb.Item>
  </Breadcrumb>
, mountNode);

图标放在文字前面。

import { Breadcrumb } from 'antd';

ReactDOM.render(
  <Breadcrumb separator=">">
    <Breadcrumb.Item>首页</Breadcrumb.Item>
    <Breadcrumb.Item href="">应用中心</Breadcrumb.Item>
    <Breadcrumb.Item href="">应用列表</Breadcrumb.Item>
    <Breadcrumb.Item>某应用</Breadcrumb.Item>
  </Breadcrumb>
, mountNode);

使用 separator=">" 可以自定义分隔符。