syncfusion-javascript-breadcrumb
Implementing Breadcrumb
The Breadcrumb component is a graphical user interface element that helps identify and highlight the current location within a hierarchical structure of websites. It makes users aware of their current position in a hierarchy of website links, improving navigation experience and reducing cognitive load.
When to Use This Skill
Use this skill immediately when you need to:
- Display hierarchical navigation paths
- Show current location in a multi-level structure
- Implement breadcrumb trails in single-page applications
- Handle overflow items with different display modes
- Customize breadcrumb appearance and behavior
- Respond to user interactions with breadcrumb items
- Apply dynamic styling and templates to breadcrumb items
Control Overview
The Breadcrumb component provides:
- Hierarchical navigation display - Shows navigation path from root to current location
- Multiple overflow modes - Menu, Collapsed, Hidden, Scroll, Wrap, None
- Item customization - Templates, icons, disabled states
- Event handling - Click events and rendering callbacks
- RTL support - Right-to-left direction rendering
- State persistence - Optional component state preservation
- URL-based generation - Automatic breadcrumb creation from URLs
Documentation and Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- Installation and package setup
- Basic breadcrumb component initialization
- Creating and populating items array
- Appending component to DOM
- Minimal working example with code
- CSS imports and theme configuration
Component Properties Overview
📄 Read: references/component-properties.md
- Core property reference (activeItem, cssClass, disabled, enableNavigation)
- Navigation configuration (enableActiveItemNavigation, enableNavigation)
- State management (enablePersistence, enableRtl)
- URL-based breadcrumb generation
- Property descriptions with default values
- Configuration patterns and best practices
Item Configuration
📄 Read: references/items-configuration.md
- BreadcrumbItemModel interface and properties
- Item properties (id, text, url, disabled, iconCss)
- Creating and configuring breadcrumb items
- Managing item states (enabled/disabled)
- Adding icons to navigation items
- Dynamic item updates and manipulation
- Item accessibility considerations
Templates and Customization
📄 Read: references/templates-and-customization.md
- itemTemplate property for custom item rendering
- separatorTemplate for custom separators
- Template function patterns and examples
- Custom rendering implementation
- Separator customization (default "/" and alternatives)
- CSS class customization strategies
Overflow Modes and Behaviors
📄 Read: references/overflow-modes.md
- BreadcrumbOverflowMode enum with all 6 modes
- Menu mode - submenu for overflow items
- Collapsed mode - collapsed icon with hidden items
- Hidden mode - maximum visible items approach
- Scroll mode - HTML scroll bar solution
- Wrap mode - multiple line wrapping
- None mode - single line display
- maxItems configuration with each mode
Events and Event Handling
📄 Read: references/events-handling.md
- itemClick event (BreadcrumbClickEventArgs)
- beforeItemRender event (BreadcrumbBeforeItemRenderEventArgs)
- created event for component initialization
- Event handler patterns and setup
- Accessing event arguments and properties
- Canceling events with cancel property
- Common event use cases and patterns
Methods and Lifecycle
📄 Read: references/methods-and-lifecycle.md
- Component lifecycle methods
- appendTo() - DOM element attachment
- destroy() - component cleanup
- dataBind() - immediate data binding
- refresh() - component re-rendering
- getRootElement() - accessing root element
- addEventListener/removeEventListener - dynamic event management
- Inject() - module injection
- Method best practices and timing
Quick Start Example
// Create breadcrumb component
const breadcrumbObj = new Breadcrumb({
items: [
{ text: 'Home', url: '/' },
{ text: 'Category', url: '/category' },
{ text: 'Product', url: '/product' }
],
enableNavigation: true
});
// Append to DOM
breadcrumbObj.appendTo('#breadcrumb');
// Handle item click
breadcrumbObj.itemClick = (args) => {
console.log('Clicked item:', args.item.text);
};
Common Patterns
Pattern 1: Basic Navigation with Icons
const breadcrumb = new Breadcrumb({
items: [
{ text: 'Dashboard', url: '/', iconCss: 'e-icons e-home' },
{ text: 'Products', url: '/products', iconCss: 'e-icons e-package' },
{ text: 'Electronics', url: '/products/electronics' }
]
});
Pattern 2: Overflow with Menu Mode
const breadcrumb = new Breadcrumb({
items: [...manyItems],
maxItems: 4,
overflowMode: 'Menu'
});
Pattern 3: Event Handling for Navigation
const breadcrumb = new Breadcrumb({
items: [...items],
itemClick: (args) => {
// Prevent default navigation
args.cancel = false;
// Navigate to item URL
window.location.href = args.item.url;
}
});
Pattern 4: Dynamic Item Updates
breadcrumb.items = newItemsList;
breadcrumb.dataBind();
Key Properties
| Property | Type | Default | Purpose |
|---|---|---|---|
items |
BreadcrumbItemModel[] | [] | List of breadcrumb items to display |
activeItem |
string | '' | URL of the active breadcrumb item |
overflowMode |
string | 'Menu' | How to handle items exceeding maxItems |
maxItems |
number | -1 | Maximum items before overflow behavior |
enableNavigation |
boolean | true | Allow item navigation |
disabled |
boolean | false | Disable entire breadcrumb |
cssClass |
string | '' | Custom CSS classes for styling |
enableRtl |
boolean | false | Right-to-left rendering |
Common Use Cases
Use Case 1: Website Navigation Breadcrumb
- Display current page location in site hierarchy
- Allow navigation to parent pages
- Show active item highlighting
Use Case 2: E-Commerce Category Navigation
- Show product category path
- Handle deeply nested categories with overflow
- Enable quick navigation to parent categories
Use Case 3: Application Workspace Navigation
- Display current module/feature path
- Show navigation history breadcrumb
- Implement dynamic path updates
Use Case 4: File System Browser
- Show current directory path
- Navigate through folder hierarchy
- Handle large folder structures with overflow
Next Steps: Choose a reference above to dive into specific implementation details, or run test cases to validate your breadcrumb implementation.
More from syncfusion/javascript-ui-controls-skills
syncfusion-javascript-gantt-chart
Implement Syncfusion Gantt Chart using JavaScript/TypeScript (Essential JS 2). Use this when working with ej2-gantt component for project scheduling, task dependencies, and timeline management. Covers full Gantt implementation including data binding, task scheduling, columns, resources, timeline configuration, WBS, resource view, critical path, baseline tracking, filtering, sorting, editing, and export functionality (Excel/PDF).
9syncfusion-javascript-maps
Guide to implementing Syncfusion Maps in TypeScript and JavaScript. Use this skill whenever the user needs to create interactive maps, add markers, visualize geographical data, work with map layers, apply color mapping, add annotations, configure legends, or handle map interactions and events. Works with TypeScript (module-based) and JavaScript (CDN/ES5).
8syncfusion-javascript-accumulation-chart
Implements Syncfusion JavaScript accumulation charts (Pie, Doughnut, Funnel, Pyramid) for proportional and percentage-based visualizations. Use when displaying categorical or proportional data. Covers legend and label configuration, interactivity, accessibility, and customization. Works with TypeScript (modules) and JavaScript (CDN/ES5).
8syncfusion-javascript-rich-text-editor
Implements the Syncfusion Rich Text Editor and Markdown Editor using TypeScript (ej2-richtexteditor). Supports both HTML (WYSIWYG) and Markdown modes via editorMode on a single RichTextEditor class. Use this skill for toolbar setup, image/media/table handling, inline or iframe editing, AI assistant, smart editing, import/export, and all content editor scenarios.
8syncfusion-javascript-chart
Implements Syncfusion JavaScript chart controls (Line, Area, Bar, Column, Pie, Polar, Radar, Waterfall, Stock). Use when building interactive data visualizations, dashboards, or real-time charts. Covers series and axes configuration, styling, animations, exporting, and technical indicators. Works with TypeScript (webpack/modules) and JavaScript (CDN/ES5).
8syncfusion-javascript-dropdowns
Comprehensive guide for implementing Syncfusion TypeScript dropdown components including AutoComplete, ComboBox, Mention, Dropdownlist and Multiselect. Use this when building selection interfaces, data binding, filtering, cascading dropdowns, custom templates, and accessible dropdown experiences.
7