Skip to content

Breadcrumb 面包屑

展示页面层级路径。末项为当前页(aria-current="page")。

基础用法

基础用法

项图标

items 项的 icon 字段传入图标名(与 oas-icon 同源注册表),在文本前渲染前置图标。

项图标

自定义分隔符

separator 支持任意文本;值匹配图标注册表名时渲染为图标分隔符(如 chevron-right)。

文本分隔符

图标分隔符

项级分隔符

items 项的 separator 字段可单独覆盖该项之后的分隔符(同样支持图标名)。

项级分隔符

真实链接

href 的项渲染为原生 <a> 链接:点击不阻止默认行为(浏览器原生跳转),同时照常派发 oas-select(SPA 宿主可拦截做路由)。target 支持新窗口打开,_blank 自动补 noopener noreferrer

真实链接

尚未点击

点击事件

oas-select 事件:detail: { value: href }。本示例用 href="#" 占位,点击可见反馈且页面不跳转。

点击事件

尚未点击

禁用项

items 项的 disabled: true 渲染为非交互文本(aria-disabled="true"),点击不派发事件。

禁用项

折叠模式

collapsed + max-items:items 数量超过 max-items(默认 4)时,中间项折叠为 ,点击 展开下拉查看全部折叠项。

折叠模式

尚未点击

折叠保留数

items-before-collapse / items-after-collapse 控制折叠省略号前后各保留几项(默认前 1、后 max-items - 2)。

折叠保留数

自定义省略号

collapse-text 替换折叠省略号的默认 文本。

自定义省略号

单行省略

ellipsis:面包屑不换行,容器过窄时链接文本以省略号截断,链接保留全文 title(悬停可见完整名称)。

单行省略

单项宽度截断

max-item-width(px)按全局对单项截断,超出省略号 + title 悬停全文;项的 maxWidth 字段可逐项覆盖。

单项宽度截断

尺寸

size 档位:small / medium(默认)/ large

尺寸

项带下拉菜单

items 项的 dropdown 数组把该项渲染为下拉触发器(点击展开子项菜单,菜单项点击派发 oas-select)。

项带下拉菜单

尚未点击

末项可点击 / 当前项语义

  • items 项的 active: true 显式标记当前项(aria-current="page" 迁移到该项),其余带 href 项照常可点。
  • active-last:末项(当前页)即使带 href 也保持可点击,同时保留 aria-current="page"

active 显式标记

末项可点击(active-last)

尚未点击

键盘方向键导航

聚焦任一链接或省略号按钮后, / 在项之间循环移动焦点,Home / End 跳到首尾。下拉触发器 Esc 收起菜单。

键盘导航

颜色变体

color 指定当前项与链接 hover 的语义色(primary / success / warning / danger / info),颜色走 token(含 dark 变体)。

颜色变体

下划线变体

variant="underline":链接与当前项常驻下划线。

下划线变体

结构化数据

组件自动向宿主注入 schema.org BreadcrumbList JSON-LD(<script type="application/ld+json">,仅含带 href 的项),供搜索引擎识别面包屑导航,无需手写微数据。

结构化数据

查看页面源码:宿主内已有 script[data-oas-breadcrumb-ld]

边界

空数据

字号定制

字号默认跟随外层 font-size(继承),可用 CSS 变量 --oas-breadcrumb-font 显式定制(如 18px)。

API

属性

属性说明类型默认值
active-last末项保持可点击:当前页(末项)带 href 时渲染为链接(仍带 aria-current="page"boolean
collapse-text自定义折叠省略号的文本(默认 string
collapsed折叠模式:items 数量超过 max-items 时中间项折叠为 ,点击展开下拉boolean
color视觉变体:当前项与链接 hover 使用指定语义色(primary/success/warning/danger/infostring
ellipsis单行省略:面包屑不换行,超宽时链接文本以省略号截断boolean
items面包屑项 JSON:label/href/icon/disabled/target/separator/dropdown/maxWidth/activestring[]
items-after-collapse折叠省略号之后保留的项数(默认 max-items - 2string
items-before-collapse折叠省略号之前保留的项数(默认 1string
max-item-width全局单项最大宽度(px):超出省略号截断 + title 悬停提示;项级 maxWidth 可覆盖string
max-items折叠模式下最多可见的项数(含 ),非法值回退 4string4
separator分隔符(支持图标名,如 chevron-rightstring/
size尺寸档位:small/medium(默认)/largestringmedium
variant样式变体:underline(链接与当前项常驻下划线)string

事件

事件说明
oas-select点击链接项、折叠下拉项或项下拉菜单项;detail: { value: href }(真实链接不阻止默认跳转,宿主可拦截做路由)

nav + aria-label="面包屑",末项 aria-current="page" 且不可点击。

基于 MIT OR Apache-2.0 双许可发布