Skip to content

面包屑 Breadcrumb

用于展示当前页面的层级路径,方便用户在层级结构中导航和返回上一级。

基本用法

使用 CBreadcrumb 包裹多个 CBreadcrumbItem,通过默认插槽或 label 指定文本。

分隔符

  • 通过 separator 控制分隔符:slasharrow 或任意字符串。

分隔符隐藏

最后一个子项的分隔符会自动隐藏,同时为最后项添加 aria-current="page",提高语义化与可访问性。

自定义分隔符插槽

你可以在 CBreadcrumbItem 上使用名为 separator 的插槽自定义分隔符内容:

路由跳转

CBreadcrumbItem 支持 toreplace 属性。当存在 vue-router 时优先通过路由跳转,否则回退到 window.location.href

下面示例会跳转到组件文档页面(将发生整页跳转):

无障碍与语义

  • CBreadcrumb 使用 nav + ol,并可通过 ariaLabel 指定导航语义标签。

API

CBreadcrumb Props

属性名说明类型可选值默认值
separator分隔符类型或自定义字符string'slash' / 'arrow''slash'
ariaLabel导航标签说明,用于无障碍访问string'Breadcrumb'

CBreadcrumbItem Props

属性名说明类型可选值默认值
label显示文本(也可通过默认插槽自定义)string''
to目标路由或链接地址string | RouteLocationRaw''
replace是否替换当前历史记录booleanfalse
disabled是否禁用链接行为booleanfalse

CBreadcrumbItem Events

事件名说明回调参数
click点击面包屑项时触发(event: MouseEvent)

CBreadcrumbItem Slots

插槽名说明
default自定义面包屑项内容
separator自定义分隔符内容

CBreadcrumbItem Methods

方法名说明参数返回值
navigate手动触发导航跳转(event: MouseEvent)void

无障碍支持

面包屑组件遵循 WAI-ARIA 规范,提供完整的无障碍支持:

属性说明
aria-label通过 ariaLabel 属性设置导航区域的语义标签
aria-current自动在最后一项设置为 'page',标识当前页面
aria-disabled在禁用项上设置为 'true',标识不可操作状态
语义化标签使用 <nav> + <ol> + <li> 结构,符合标准