docs_vue2/one/docs/components/breadcrumb.md

115 lines
2.7 KiB
Markdown

# Breadcrumb <small>面包屑</small>
:::tip
`Breadcrumb` 组件可以内联 [`BreadcrumbItem`](./breadcrumb-item) 组件使用。
:::
## 示例
### 风格
可选的风格 [`ui`](#props-ui) 属性值:`strong`。
[[ demo src="/demo/breadcrumb/style.vue" ]]
### 尺寸
可选的尺寸 [`ui`](#props-ui) 属性值:`s` / `m`
[[ demo src="/demo/breadcrumb/size.vue" ]]
### 内联模式
直接内联 `BreadcrumbItem` 使用。
[[ demo src="/demo/breadcrumb/base.vue" ]]
### 使用数据源
也可以传入数据源。
[[ demo src="/demo/breadcrumb/datasource.vue" ]]
### 自定义分隔符
可以使用插槽自定义分隔符。
[[ demo src="/demo/breadcrumb/separator.vue" ]]
### 事件监听
监听 [`redirect`](#events-redirect) 事件后处理而非直接路由跳转。
[[ demo src="/demo/breadcrumb/redirect.vue" ]]
## API
### 属性
| 名称 | 类型 | 默认值 | 描述 |
| --- | --- | --- | --- |
| ``ui`` | `string=` | - | [^ui] |
| ``routes`` | `Array<Object>` | `[]` | [^routes] |
^^^ui
预设样式。
+++枚举值
| 值 | 描述 |
| -- | -- |
| `s` | 小尺寸样式。 |
| `m` | 中尺寸样式。 |
^^^
^^^routes
面包屑配置,项目类型为 `{label: string, type: string, to: string | Object=, native: boolean=}`,除 `label` 外字段详情可参考 [`BreadcrumbItem`](./breadcrumb-item) 组件的属性。
:::warning
默认情况下,最后一项始终会显示成普通文本样式。
:::
^^^
### 插槽
| 名称 | 描述 |
| -- | -- |
| ``default`` | 支持内联模式,直接传入 [`BreadcrumbItem`](./breadcrumb-item) 组件列表。填充后 [`routes`](#props-routes) 属性将被忽略。 |
| ``item`` | [^slot-item] |
| ``separator`` | [^slot-separator] |
^^^slot-item
用于为每个项目自定义内容。默认内容为 `routes` 项目的 `label` 或 [`BreadcrumbItem`]('./breadcrumb-item) 组件的默认插槽。
+++作用域参数
| 名称 | 类型 | 描述 |
| -- | -- | -- |
| `route` | `Object` | `routes` 中的项目。自定义字段亦会绑定到作用域对象中。 |
+++
^^^
^^^slot-separator
面包屑条目之间的分隔符。默认显示全局配置的分隔图标。
:::warning
当使用 Vue.js `2.5.17` 及以下版本时,必须绑定 `slot-scope` 使用。
:::
^^^^
### 事件
| 名称 | 描述 |
| -- | -- |
| ``redirect`` | [^redirect] |
^^^redirect
点击 `type``link` 的项目时将触发该事件,回调参数为 `(event, route, index)`
+++参数详情
| 名称 | 类型 | 描述 |
| -- | -- | -- |
| ``event`` | [Event](https://developer.mozilla.org/zh-CN/docs/Web/Events/click) | 事件对象。 |
| ``route`` | `Object` | 面包屑条目对象。 |
| ``index`` | `number` | 当前点击条目的索引。 |
+++
^^^