Skip to content

Breadcrumb 面包屑

xy-breadcrumb 用来表达页面层级和当前位置,适合详情页、后台多级目录、抽屉页和设置流程顶部。采用父子拆分结构,同时补了 href / target / disabled / ariaLabel,同时保留 to / replace 兼容口。

基础用法

默认使用字符分隔符,最后一项表示当前页,不参与跳转。

图标分隔符

当页面本身视觉更强调流程感时,可以直接把分隔符切成图标。

后台页面路径

这类场景最常见于后台详情页、对账页和运营页顶部,用来快速表达当前页面所处的业务层级。

声明式 items

当层级数据本身就来自路由元信息或接口返回时,可以直接传 items 数组。

链接与禁用态

href / target / disabled 适合纯链接导航;to / replace 兼容 Vue Router 风格,但需要宿主项目提供 $router

使用提示

  • 最后一项默认表示当前页,会自动带上 aria-current="page",同时不参与跳转。
  • separatorIcon 使用当前仓库统一的字符串图标名,例如 mdi:chevron-right;存在时会覆盖字符 separator
  • to / replace 只在宿主项目已注入 $router 时生效;没有 router 时建议优先使用 href
  • disabled 会移除可点击语义并输出 aria-disabled="true"

API

属性说明类型默认值
separator字符分隔符string'/'
separator-icon图标分隔符string''
aria-label导航区无障碍标签string'面包屑'
items声明式面包屑项数组BreadcrumbItemData[][]
插槽说明
default面包屑项列表,通常传入 xy-breadcrumb-item
属性说明类型默认值
to路由目标,宿主项目存在 $router 时优先走路由导航BreadcrumbRouteTarget''
replace路由跳转时是否替换历史记录booleanfalse
href原生链接地址string''
target原生链接目标LinkTarget'_self'
disabled是否禁用当前项booleanfalse
插槽说明
default面包屑文案

CSS Variables

变量名说明默认值
--xy-breadcrumb-font-size组件字号14px
--xy-breadcrumb-color普通项颜色var(--xy-text-secondary)
--xy-breadcrumb-link-color可点击项颜色color-mix(in srgb, var(--xy-brand) 92%, black)
--xy-breadcrumb-current-color当前页颜色var(--xy-text-primary)
--xy-breadcrumb-separator-gap分隔符左右间距10px
--xy-breadcrumb-separator-color分隔符颜色color-mix(in srgb, var(--xy-text-secondary) 68%, white)