mcpField
S
syncfusion-react-breadcrumb

syncfusion-react-breadcrumb

github.com/syncfusion设计与 UI3666 次安装1 周前更新
代码仓库

关于 syncfusion-react-breadcrumb

面向 React 开发者的 Syncfusion Breadcrumb 组件指南,用于构建层级导航路径。涵盖溢出处理、动态数据、模板、自定义导航和 RTL 支持。

主要功能

  1. 01通过 URL 或数据生成条目
  2. 02六种溢出显示模式
  3. 03自定义条目与分隔符模板
  4. 04控制组件及单个条目状态
  5. 05键盘导航与 RTL 支持

适用场景

  1. 01展示网站页面层级位置
  2. 02呈现电商分类与商品路径
  3. 03构建文档章节导航
  4. 04显示多步骤表单进度

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/syncfusion/react-ui-components-skills --skill syncfusion-react-breadcrumb

安装后在 Claude Code 中输入/syncfusion-react-breadcrumb确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
accessibility.md
api-properties-and-events.md
customization.md
getting-started.md
icon-integration-data-binding.md
navigation-and-routing.md

详细介绍

Syncfusion React 面包屑组件技能

目录

  1. 何时使用此技能
  2. 组件概览
  3. 文档和导航指南
  4. 快速入门示例
  5. 常见模式
  6. 关键属性参考
  7. 常见用例

何时使用此技能

在以下情况下使用此技能:

  • 创建面包屑导航,以显示分层结构中的当前位置
  • 在应用中的不同页面或版块之间启用导航
  • 使用不同策略(Menu、Scroll、Collapsed 等)处理面包屑项目溢出
  • 使用图标、模板或分隔符自定义面包屑外观
  • 实现支持键盘操作的无障碍面包屑导航
  • 从 URL 或数据动态绑定面包屑项目
  • 将面包屑与单页应用的路由库集成
  • 有条件地禁用整个面包屑或单个项目
  • 处理面包屑事件并执行自定义逻辑
  • 为国际化应用提供 RTL 支持

组件概览

Syncfusion React 面包屑组件提供了一种灵活的方式,可在应用中显示导航路径和面包屑轨迹。主要功能包括:

  • 导航支持:通过精细控制(组件级和项目级)启用或禁用导航
  • 组件控制:启用/禁用整个组件、设置活动项目、应用自定义 CSS 类
  • 项目级控制:禁用单个项目、应用图标、设置用于识别的 ID
  • 灵活的数据绑定:声明式绑定项目,或根据 URL 动态生成项目
  • 溢出模式:使用 6 种模式(Menu、Collapsed、Scroll、Wrap、Hidden、None)处理内容溢出
  • 自定义:使用项目模板和分隔符模板创建丰富的自定义布局
  • 事件处理:4 种事件(beforeItemRender、itemClick、created),提供全面的参数
  • 国际化:为从右向左书写的语言提供完整的 RTL 支持
  • 无障碍性:完全符合 WCAG 2.2 标准,支持键盘导航和屏幕阅读器
  • 图标集成:支持字体图标、图像和 SVG 图形
  • 状态管理:以编程方式设置活动项目,管理项目的启用/禁用状态

文档和导航指南

API 属性和事件参考

📄 阅读: references/api-properties-and-events.md

完整的 API 参考及代码示例:

  • 所有 BreadcrumbComponent 属性(activeItem、cssClass、disabled、enableNavigation 等)
  • 所有 BreadcrumbItem 属性(disabled、iconCss、id、text、url)
  • 所有组件事件(beforeItemRender、itemClick、created)
  • 事件参数和用法示例
  • 全部 6 种溢出模式及示例
  • 属性和事件汇总表
入门指南

📄 阅读: references/getting-started.md

如果你刚开始使用 Syncfusion Breadcrumb,请从这里开始:

  • 安装和依赖项设置
  • Vite 与 Create React App 环境设置
  • 添加 CSS 样式表和主题
  • 创建第一个基本面包屑组件
  • 向面包屑添加项目
  • TypeScript 配置和类型
导航和路由

📄 阅读: references/navigation-and-routing.md

在需要启用导航时使用:

  • 启用或禁用项目导航(enableNavigation 属性)
  • 实现相对 URL 和绝对 URL
  • 启用活动项目(最后一个面包屑)的导航(enableActiveItemNavigation)
  • 使用 beforeItemRender 在新标签页中打开 URL
  • 处理 itemClick 事件
  • 与 React Router 进行高级路由集成
自定义和模板

📄 阅读: references/customization.md

自定义面包屑外观时使用:

  • 溢出模式(Menu、Collapsed、Scroll、Wrap、Hidden、None)
  • 用于富内容的项目模板(itemTemplate 属性)
  • 带自定义图标的分隔符模板(separatorTemplate)
  • 管理显示的最大项目数(maxItems 属性)
  • 禁用单个项目(disabled 属性)
  • 样式和 CSS 类(cssClass 属性)
图标集成和数据绑定

📄 阅读: references/icon-integration-data-binding.md

使用图标或动态数据时使用:

  • 字体图标实现(使用 iconCss 的 Syncfusion 图标)
  • 添加图像和 SVG 图形作为图标
  • 图标位置(左侧、右侧、仅图标)
  • 从标签指令进行数据绑定
  • 基于 URL 生成项目(组件上的 url 属性)
  • 静态 URL 配置
  • 使用 beforeItemRender 自定义生成的项目文本
无障碍访问

📄 阅读: references/accessibility.md

实现无障碍面包屑时使用:

  • WCAG 2.2 合规指南
  • ARIA 属性和角色
  • 键盘导航支持(Tab、Shift+Tab、Enter)
  • 屏幕阅读器优化
  • 从右到左(RTL)支持(enableRtl 属性)
  • 使用无障碍工具进行测试

快速入门示例

以下是一个可运行的最简示例,助您快速开始:

import { BreadcrumbComponent, BreadcrumbItemDirective, BreadcrumbItemsDirective } from '@syncfusion/ej2-react-navigations';
import '@syncfusion/ej2-base/styles/tailwind3.css';
import '@syncfusion/ej2-navigations/styles/tailwind3.css';

export default function App() {
  return (
    <BreadcrumbComponent enableNavigation={false}>
      <BreadcrumbItemsDirective>
        <BreadcrumbItemDirective iconCss="e-icons e-home" url="/" />
        <BreadcrumbItemDirective text="Components" url="/components" />
        <BreadcrumbItemDirective text="Breadcrumb" url="/breadcrumb" />
      </BreadcrumbItemsDirective>
    </BreadcrumbComponent>
  );
}

常见模式

模式 1:启用导航的面包屑

通过设置 enableNavigation={true} 并提供 URL,启用用户导航:

<BreadcrumbComponent enableNavigation={true}>
  <BreadcrumbItemsDirective>
    <BreadcrumbItemDirective text="Home" url="../" />
    <BreadcrumbItemDirective text="Products" url="../products" />
    <BreadcrumbItemDirective text="Category" url="../products/category" />
  </BreadcrumbItemsDirective>
</BreadcrumbComponent>
模式 2:带图标的面包屑

使用基于图标的面包屑添加视觉提示:

<BreadcrumbComponent enableNavigation={false}>
  <BreadcrumbItemsDirective>
    <BreadcrumbItemDirective iconCss="e-icons e-home" />
    <BreadcrumbItemDirective iconCss="e-bicons e-folder" text="Folder" />
    <BreadcrumbItemDirective iconCss="e-bicons e-file" text="Document" />
  </BreadcrumbItemsDirective>
</BreadcrumbComponent>
模式 3:处理溢出

使用溢出模式处理自适应面包屑路径:

<BreadcrumbComponent maxItems={3} overflowMode="Menu" enableNavigation={false}>
  <BreadcrumbItemsDirective>
    <BreadcrumbItemDirective text="Home" />
    <BreadcrumbItemDirective text="Folder 1" />
    <BreadcrumbItemDirective text="Folder 2" />
    <BreadcrumbItemDirective text="Folder 3" />
    <BreadcrumbItemDirective text="File" />
  </BreadcrumbItemsDirective>
</BreadcrumbComponent>
模式 4:组件级控制

禁用整个组件,或通过编程方式设置活动项目:

import { useState } from 'react';

export default function App() {
  const [isDisabled, setIsDisabled] = useState(false);
  const [activeUrl, setActiveUrl] = useState('/products');

  return (
    <div>
      <BreadcrumbComponent 
        disabled={isDisabled}
        activeItem={activeUrl}
        enableNavigation={true}
      >
        <BreadcrumbItemsDirective>
          <BreadcrumbItemDirective text="Home" url="/" />
          <BreadcrumbItemDirective text="Products" url="/products" />
          <BreadcrumbItemDirective text="Electronics" url="/products/electronics" />
        </BreadcrumbItemsDirective>
      </BreadcrumbComponent>
    </div>
  );
}
模式 5:禁用单个项目

根据条件禁用特定项目:

<BreadcrumbComponent enableNavigation={true}>
  <BreadcrumbItemsDirective>
    <BreadcrumbItemDirective text="Home" url="/" disabled={false} />
    <BreadcrumbItemDirective text="Products" url="/products" disabled={false} />
    <BreadcrumbItemDirective text="Admin Only" url="/admin" disabled={!isAdmin} />
  </BreadcrumbItemsDirective>
</BreadcrumbComponent>

关键属性参考

组件级属性
属性类型默认值用途
enableNavigationbooleantrue启用/禁用项目导航
enableActiveItemNavigationbooleanfalse使最后一个项目可点击
disabledbooleanfalse禁用整个组件
activeItemstringN/A活动面包屑项目的 URL
cssClassstringN/A容器的 CSS 类
enableRtlbooleanfalse从右到左渲染
maxItemsnumberN/A溢出前可见项目的最大数量
overflowModestring'Menu'溢出行为:Menu、Collapsed、Scroll、Wrap、Hidden、None
itemsBreadcrumbItemModel[]N/A面包屑项目数组
itemTemplateFunction|stringN/A项目的自定义模板
separatorTemplateFunction|stringN/A分隔符的自定义模板
urlstringN/A根据 URL 路径生成项目
项目级属性
属性类型默认值用途
textstring''显示文本
urlstring''导航 URL
iconCssstringnull图标 CSS 类
disabledbooleanfalse禁用单个项目
idstring''唯一项目标识符
事件
事件触发时机参数
beforeItemRender每个项目渲染前cancel、element、item、name
itemClick点击项目时cancel、element、event、item、name
created组件渲染完成时Event

常见用例

  1. 文件系统导航:显示当前文件夹路径,并配有文件夹/文件图标
  2. 电子商务产品路径:展示类别 → 子类别 → 产品层级
  3. 文档导航:浏览文档各章节和页面
  4. 多步骤表单:显示表单步骤和进度
  5. 网站导航:显示当前页面在网站层级中的位置

后续步骤:

  • 根据需要阅读相应的参考文件
  • 复制代码示例,并根据用例进行调整
  • 查阅 API 文档,了解高级属性
  • 使用不同主题(Tailwind、Bootstrap、Fluent、Material)进行测试

评论

支持 Markdown