Hey guys, today in this post we are going to learn about how to building dynamic breadcrumbs an example of navigation hierarchy path of the page in lightning Salesforce uses of ‘lightning-breadcrumbs’ tag elements in Lightning Web Component (LWC).
A lightning-breadcrumbs component is an ordered list that displays the path of a page and helps you navigate back to the parent. Each breadcrumb item is represented by a lightning-breadcrumb component. Breadcrumbs are actionable and separated by a greater-than sign.
lightning-breadcrumbs implements the breadcrumbs blueprint in the Salesforce Lightning Design System (SLDS).
To apply additional styling, use the SLDS utility classes with the class attribute. To know more details about lightning-breadcrumbs, Click Here →.
Files we used to create lightning-breadcrumbs navigation parh in Salesforce LWC →
lwcBreadcrumbs.html | LWc HTML File | Template HTML file to create lightning-breadcrumbs navigation path in Salesforce Lightning Web Component (LWC) |
lwcBreadcrumbs.js | LWC JavaScript File | It’s javascript actions functions of handleNavigateTo to navigate using the onclick handle in Salesforce LWC |
lwcBreadcrumbs.js-meta.xml | XML Meta File | It is used to where this lightning web component file you want to display as lightning__AppPage, lightning__RecordPage, lightning__HomePage. |
lwcBreadcrumbsApp.app | Lightning Application | It is used for call the component and preview on browser. |
Final Output →
You can download file directly from github by Click Here.
Other related post that would you like to learn in Salesforce
- Find the below steps ▾
Create Lightning Web Component HTML →
Step 1:- Create Lightning Web Component : lwcBreadcrumbs.html
SFDX:Lightning Web Component >> New >> lwcBreadcrumbs.html
lwcBreadcrumbs.html [Lightning Web Component HTML]
<template>
<lightning-card>
<div class="slds-p-around_medium">
<h3 class="slds-text-heading_small"><lightning-icon icon-name="custom:custom98" size="small"></lightning-icon> <strong style="color:#270086; font-size:13px; margin-right:5px;"> Breadcrumbs:- A hierarchy path of the page in Lightning Web Component (LWC) </strong></h3>
<br/><br/>
<table class="slds-table slds-table_cell-buffer slds-table_col-bordered slds-table_bordered" style="border:1px #ddd solid;">
<tbody>
<tr>
<td style="vertical-align: top;">
<h2 class="header" style="color: #ff8000; margin-bottom:20px;"><strong>Navigate Using a Link</strong> </h2>
<lightning-breadcrumbs>
<lightning-breadcrumb
label="Tutorial"
href="https://www.w3web.net/tutorial/">
</lightning-breadcrumb>
<lightning-breadcrumb
label="Salesforce LWC"
href="https://www.w3web.net/tutorial/salesforce-lwc/">
</lightning-breadcrumb>
</lightning-breadcrumbs>
</td>
</tr>
<tr>
<td style="vertical-align: top;">
<h2 class="header" style="color: #ff8000; margin-bottom:20px;"><strong>Navigate Using the onclick Handle</strong> </h2>
<lightning-breadcrumbs>
<lightning-breadcrumb
label="Account"
href="path/to/place/1"
onclick={handleNavigateToAccount}>
</lightning-breadcrumb>
<lightning-breadcrumb
label="Case"
href="path/to/place/2"
onclick={handleNavigateToCase}>
</lightning-breadcrumb>
</lightning-breadcrumbs>
<div class="container">
<div class="slds-hide account">
<lightning-card
variant="narrow"
icon-name="standard:account"
title="Account title">
<p class="slds-m-around_medium">Account details</p>
<div slot="actions">
<lightning-button-icon icon-name="utility:down" alternative-text="Show actions"></lightning-button-icon>
</div>
<lightning-button value="account" label="Close" onclick={close}></lightning-button>
</lightning-card>
</div>
<div class="slds-hide case">
<lightning-card
variant="narrow"
icon-name="standard:case"
title="Case title">
<p class="slds-m-around_medium">Case details</p>
<div slot="actions">
<lightning-button-icon icon-name="utility:down" alternative-text="Show actions"></lightning-button-icon>
</div>
<lightning-button value="case" label="Close" onclick={close}></lightning-button>
</lightning-card>
</div>
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;">
<h2 class="header" style="color: #ff8000; margin-bottom:20px;"><strong>Generate Breadcrumbs with for:each</strong> </h2>
<lightning-breadcrumbs>
<template for:each={myBreadcrumbs} for:item="crumbs">
<lightning-breadcrumb
key={crumbs.id}
label={crumbs.label}
name={crumbs.name}
onclick={handleNavigateTo}>
</lightning-breadcrumb>
</template>
</lightning-breadcrumbs>
</td>
</tr>
</tbody>
</table>
<br/><br/>
<!--Start RelatedTopics Section-->
<div style="border:1px #ddd solid; padding:10px; background:#eee; margin:40px 0;">
<p data-aura-rendered-by="435:0"><img src="https://www.w3web.net/wp-content/uploads/2021/05/thumbsUpLike.png" width="25" height="25" style="vertical-align:top; margin-right:10px;" data-aura-rendered-by="436:0"><strong data-aura-rendered-by="437:0"><span style="font-size:16px; font-style:italic; display:inline-block; margin-right:5px;">Don't forget to check out:-</span><a href="https://www.w3web.net/" target="_blank" rel="noopener noreferrer" style="text-decoration:none;" data-aura-rendered-by="440:0">An easy way to learn step-by-step online free Salesforce tutorial, To know more Click <span style="color:#ff8000; font-size:18px;" data-aura-rendered-by="442:0">Here..</span></a></strong></p>
<br/><br/>
<p data-aura-rendered-by="435:0"><img src="https://www.w3web.net/wp-content/uploads/2021/07/tickMarkIcon.png" width="25" height="25" style="vertical-align:top; margin-right:10px;" data-aura-rendered-by="436:0"><strong data-aura-rendered-by="437:0"><span style="font-size:17px; font-style:italic; display:inline-block; margin-right:5px; color:rgb(255 128 0);">You May Also Like →</span> </strong></p>
<div style="display:block; overflow:hidden;">
<div style="width: 50%; float:left; display:inline-block">
<ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;">
<li><a href="https://www.w3web.net/lwc-get-set-lightning-checkbox-value/" target="_blank" rel="noopener noreferrer">How to get selected checkbox value in lwc</a></li>
<li><a href="https://www.w3web.net/display-account-related-contacts-in-lwc/" target="_blank" rel="noopener noreferrer">how to display account related contacts based on AccountId in lwc</a></li>
<li><a href="https://www.w3web.net/create-lightning-datatable-row-actions-in-lwc/" target="_blank" rel="noopener noreferrer">how to create lightning datatable row actions in lwc</a></li>
<li><a href="https://www.w3web.net/if-and-else-condition-in-lwc/" target="_blank" rel="noopener noreferrer">how to use if and else condition in lwc</a></li>
<li><a href="https://www.w3web.net/get-selected-radio-button-value-and-checked-default-in-lwc/" target="_blank" rel="noopener noreferrer">how to display selected radio button value in lwc</a></li>
</ul>
</div>
<div style="width: 50%; float:left; display:inline-block">
<ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;">
<li><a href="https://www.w3web.net/display-account-related-contacts-lwc/" target="_blank" rel="noopener noreferrer">display account related contacts based on account name in lwc</a></li>
<li><a href="https://www.w3web.net/create-lightning-datatable-row-actions-in-lwc/" target="_blank" rel="noopener noreferrer">how to insert a record of account Using apex class in LWC</a></li>
<li><a href="https://www.w3web.net/fetch-picklist-values-dynamic-in-lwc/" target="_blank" rel="noopener noreferrer">how to get picklist values dynamically in lwc</a></li>
<li><a href="https://www.w3web.net/edit-save-and-remove-rows-dynamically-in-lightning-component/" target="_blank" rel="noopener noreferrer">how to edit/save row dynamically in lightning component</a></li>
<li><a href="https://www.w3web.net/tree-grid-dynamic-expand-collapse-in-lwc/" target="_blank" rel="noopener noreferrer">how to create tree grid with expanded/collapsed section for the entire row in LWC</a></li>
</ul>
</div>
<div style="clear:both;"></div>
<br/>
<div class="youtubeIcon">
<a href="https://www.youtube.com/channel/UCW62gTen2zniILj9xE6LmOg" target="_blank" rel="noopener noreferrer"><img src="https://www.w3web.net/wp-content/uploads/2021/11/youtubeIcon.png" width="25" height="25" style="vertical-align:top; margin-right:10px;"/> <strong>TechW3web:-</strong> To know more, Use this <span style="color: #ff8000; font-weight: bold;">Link</span> </a>
</div>
</div>
</div>
<!--End RelatedTopics Section-->
</div>
</lightning-card>
</template>
Create Lightning Web Component JavaScript →
Step 2:- Create Lightning Web Component : lwcBreadcrumbs.js
SFDX:Lightning Web Component >> New >> lwcBreadcrumbs.js
lwcBreadcrumbs.js [LWC JavaScript File]
import { LightningElement,track } from 'lwc';
export default class LwcBreadcrumbs extends LightningElement {
handleNavigateToAccount(event) {
// prevent default navigation by href
event.preventDefault();
const caseDiv = this.template.querySelector('.container .case');
this.hide(caseDiv);
const accountDiv = this.template.querySelector('.container .account');
this.show(accountDiv);
}
handleNavigateToCase(event) {
// prevent default navigation by href
event.preventDefault();
const accountDiv = this.template.querySelector('.container .account');
this.hide(accountDiv);
const caseDiv = this.template.querySelector('.container .case');
this.show(caseDiv);
}
close(event) {
const name = event.target.value;
const elmToClose = this.template.querySelector(`.${name}`);
this.hide(elmToClose);
}
show(elm) {
elm.classList.remove('slds-hide');
elm.classList.add('slds-show');
}
hide(elm) {
elm.classList.add('slds-hide');
elm.classList.remove('slds-show');
}
@track
myBreadcrumbs = [
{ label: 'Tutorial', name: 'parent', id: 'account1' },
{ label: 'Lightning Component', name: 'child', id: 'account2' },
];
breadCrumbsMap = {
parent: 'https://www.w3web.net/tutorial/',
child: 'https://www.w3web.net/tutorial/lightning-component/',
};
handleNavigateTo(event) {
// prevent default navigation by href
event.preventDefault();
const name = event.target.name;
if (this.breadCrumbsMap[name]) {
window.location.assign(this.breadCrumbsMap[name]);
}
}
}
Create Lightning Web Component Meta XML →
Step 3:- Create Lightning Web Component : lwcBreadcrumbs.js-meta.xml
SFDX:Lightning Web Component >> New >> lwcBreadcrumbs.js-meta.xml
lwcBreadcrumbs.js-meta.xml [LWC Meta Data XML]
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>45.0</apiVersion>
<isExposed>true</isExposed>
<targets>
<target>lightning__AppPage</target>
<target>lightning__RecordPage</target>
<target>lightning__HomePage</target>
</targets>
</LightningComponentBundle>
Create Lightning Application →
Step 4:- Create Lightning Application : lwcBreadcrumbsApp.app
From Developer Console >> File >> New >> Lightning Application
lwcBreadcrumbsApp.app [Component Application File]
<aura:application extends="force:slds">
<c:lwcBreadcrumbs/>
</aura:application>
Further post that would you like to learn in Salesforce
What are breadcrumbs in Salesforce?
A breadcrumb shows your location in an app's hierarchy, not your browsing history. Breadcrumbs are especially useful when you need to go to a parent page from another page in the app. They also help you situate yourself in the app.
What are website breadcrumbs?
Breadcrumbs is a secondary navigation system that shows a user's location in a site or web app.
What is lightning navigation?
Lightning:navigation is used to navigate to a given pageReference or to generate. a URL from a pageReference.To navigate we need to define a PageReference object. The pageReference type generates a unique URL format and defines attributes that. apply to all pages of that type.
Related Topics | You May Also Like
Our Free Courses →
👉 Get Free Course →
📌 Salesforce Administrators 📌 Salesforce Lightning Flow Builder 📌 Salesforce Record Trigger Flow Builder |
👉 Get Free Course →
📌 Aura Lightning Framework 📌 Lightning Web Component (LWC) 📌 Rest APIs Integration |