UNPKG

@uiw/react-breadcrumb

Version:

Breadcrumb component

133 lines (108 loc) 4.78 kB
Breadcrumb 面包屑 === [![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor) [![Open in unpkg](https://img.shields.io/badge/Open%20in-unpkg-blue)](https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-breadcrumb/file/README.md) [![NPM Downloads](https://img.shields.io/npm/dm/@uiw/react-breadcrumb.svg?style=flat)](https://www.npmjs.com/package/@uiw/react-breadcrumb) [![npm version](https://img.shields.io/npm/v/@uiw/react-breadcrumb.svg?label=@uiw/react-breadcrumb)](https://npmjs.com/@uiw/react-breadcrumb) 显示当前页面的路径,快速返回之前的任意页面。 ```jsx import { Breadcrumb } from 'uiw'; // or import Breadcrumb from '@uiw/react-breadcrumb'; ``` ### 基础用法 适用广泛的基础用法,在 `Breadcrumb` 中使用 `Breadcrumb.Item` 标签表示从首页开始的每一级。 ```jsx mdx:preview import React from 'react'; import { Breadcrumb } from 'uiw'; export default function Demo() { return( <Breadcrumb> <Breadcrumb.Item>首页</Breadcrumb.Item> <Breadcrumb.Item separator=">">活动管理</Breadcrumb.Item> <Breadcrumb.Item>活动列表</Breadcrumb.Item> <Breadcrumb.Item active>活动详情</Breadcrumb.Item> </Breadcrumb> ); } ``` ### 自定义分隔符 使用 `separator=">"` 可以自定义分隔符,分隔符也可以是图标。 ```jsx mdx:preview import React from 'react'; import { Breadcrumb, Divider, Icon } from 'uiw'; export default function Demo() { return( <div> <Breadcrumb> <Breadcrumb.Item><a href="#">Home</a></Breadcrumb.Item> <Breadcrumb.Item separator=">"><a href="#">Library</a></Breadcrumb.Item> <Breadcrumb.Item active>Data</Breadcrumb.Item> </Breadcrumb> <Divider /> <Breadcrumb separator="#"> <Breadcrumb.Item><a href="#">Home</a></Breadcrumb.Item> <Breadcrumb.Item separator={<span>+</span>}><a href="#">Home</a></Breadcrumb.Item> <Breadcrumb.Item separator={<Icon type="home" verticalAlign="baseline" />}><a href="#">Icon</a></Breadcrumb.Item> <Breadcrumb.Item separator=">"><a href="#">Library</a></Breadcrumb.Item> <Breadcrumb.Item active>Data</Breadcrumb.Item> </Breadcrumb> </div> ); } ``` ### 带有图标和连接的 图标放在文字前面。注意文字要使用 `span` 包裹起来,图标 `<Icon />` 需要跟 `span` 同级。`Breadcrumb.Item` 定义 `href` 参数的话,`Item` 上的参数就全部是超链原始属性。 ```jsx mdx:preview import React from 'react'; import { Breadcrumb, Icon } from 'uiw'; const stylIcon = { marginRight: 3, top: 2, display: 'inline-flex' } export default function Demo() { return( <div> <Breadcrumb> <Breadcrumb.Item> <a href="#"><Icon style={stylIcon} type="home"/></a> </Breadcrumb.Item> <Breadcrumb.Item separator=">"> <a href="#"><Icon style={stylIcon} type="apple"/>Library</a> </Breadcrumb.Item> <Breadcrumb.Item separator=">"> <a href="#"><Icon style={stylIcon} type="pie-chart"/>Chart</a> </Breadcrumb.Item> <Breadcrumb.Item separator=""> <a href="#"><Icon style={{...stylIcon, marginRight: 0}} type="star-on"/> Chart</a> </Breadcrumb.Item> <Breadcrumb.Item separator="" active>Data</Breadcrumb.Item> </Breadcrumb> </div> ); } ``` ## Breadcrumb | 参数 | 说明 | 类型 | 默认值 | |--------- |-------- |--------- |-------- | | style | 样式 | String | - | | className | 样式名称 | String | `w-breadcrumb` | | tagName | 设置子节点标签名,默认 `<a />` 标签,也可以指定路由 [`<Link />`](https://reacttraining.com/react-router/web/api/Link) | String | `a` | | separator | 分隔符自定义,定义所有子组件的分隔符。 | String | `/` | 其它参数可根据 `tagName` 来设置,默认 `<a />` 标签时,可设置 `href="https://wwww.google.com"` 或者 `target="_blank"` 等参数,你可以设置 [react-router-dom](https://github.com/ReactTraining/react-router) 路由 [`<Link />`](https://reacttraining.com/react-router/web/api/Link),例如: ```jsx import { Breadcrumb, Icon } from 'uiw'; import { Link } from 'react-router-dom'; const Demo = () => { return ( <Breadcrumb> <Breadcrumb.Item tagName={Link} to="/home"> <Icon type="apple"/> Home </Breadcrumb.Item> </Breadcrumb> ) } ``` ## Breadcrumb.Item | 参数 | 说明 | 类型 | 默认值 | |--------- |-------- |--------- |-------- | | className | 样式名称 | String | `w-breadcrumb-itme` | | separator | 分隔符自定义,子组件可以单独定义不同的分隔符。 | String | - | | active | 激活。 | String | - |