Hey guys, today in this post we are going to learn about How to Display lightning vertical navigation on-select event handler to retrieve the multiple levels of selected menus with nested submenu items in Salesforce lightning web component — LWC .
This component inherits styling from trees in the Lightning Design System.
A lightning-tree component displays visualization of a structural hierarchy, such as a sitemap for a website or a role hierarchy in an organization. Items are displayed as hyperlinks and items in the hierarchy can be nested. Items with nested items are also known as branches.
Here we are creating a tree and passing in an array of key-value pairs to the items attribute. To know more, click here.
Files we used in this post example
mulipleLevelsMenuLwc.html | LWc HTML File | Template HTML file to create muliple levels of selected menus with nested submenu items in lwc |
mulipleLevelsMenuLwc.js | LWC JavaScript File | It’s hold a javascript on click function to display the selected menus with nested submenu using ‘lightning-tree’ element lwc. |
mulipleLevelsMenuLwc.js-meta.xml | XML Meta File | It is used to where this lightning web component file you want to display as like lightning__AppPage, lightning__RecordPage, lightning__HomePage. |
mulipleLevelsMenuLwc.css | Style CSs | It is used for fill the background color in the main element box. |
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 HTML β‘ mulipleLevelsMenuLwc.html
SFDX:Lightning Web Component β‘ New β‘ mulipleLevelsMenuLwc.html
mulipleLevelsMenuLwc.html [Lightning Web Component HTML]
<template>
<lightning-card>
<div class="slds-p-around--medium">
<h3 class="slds-text-heading_small slds-m-bottom_medium"> <lightning-icon icon-name="custom:custom19" size="small"></lightning-icon> <strong style="color:#270086;"> Create custom muliple levels of <span style="color:#ff8000">selected menus with nested submenu items </span> in LWC</strong></h3>
<div class="slds-m-top_medium slds-m-bottom_x-large">
<div class="slds-p-around_medium lgc-bg">
<lightning-tree items={items} header="w3web.net"></lightning-tree>
</div>
</div>
</div>
<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/update-parent-object-from-child/" target="_blank" rel="noopener noreferrer">update parent field from child using apex trigger</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-->
</lightning-card>
</template>
</lightning-card>
</template>
Create Lightning Web Component Javascript
Step 2:- Create Lightning Web Component Javascript β‘ mulipleLevelsMenuLwc.js
SFDX:Lightning Web Component β‘ New β‘ mulipleLevelsMenuLwc.js
mulipleLevelsMenuLwc.js [LWC JavaScript File]
import { LightningElement } from 'lwc';
export default class MulipleLevelsMenuLwc extends LightningElement {
items = [
{
label: 'Salesforce Aura Component',
name: 'Salesforce Aura Component',
expanded: true,
items: [
{
label: 'Aura Component Tutorial',
name: 'Aura-Component-Tutorial',
expanded: true,
items: [
{
label: 'How to call an external REST API',
name: 'REST-API',
expanded: true,
items: [
{
label: 'How to get the RecordType Name',
name: 'RecordType Name',
expanded: true,
items: [
{
label: 'How to get the RecordType/Id Name of Account',
name: 'RecordType-Account',
expanded: true,
items: [
{
label: 'How to create lightning vertical tab',
name:
'vertical-tab',
},
{
label: 'Get Picklist Values Dynamically ',
name:
'Get-Picklist-Values',
},
],
},
],
},
{
label: 'Retrieve data of Cross-object(Lookup/Master-Detail)',
name: 'Retrieve-data-of-Cross-object',
expanded: true,
items: [
{
label: 'Write a Batch Apex to Update all the Industry',
name: 'Write-a-Batch-Apex',
expanded: true,
items: [
{
label: 'Writing a Custom Schedulable Batch Apex',
name:
'Custom-Schedulable-Batch',
},
{
label: 'A Collection of Lightning Component Library',
name:
'Lightning-Component-Library',
},
],
},
],
},
],
},
{
label: 'How to Avoid Duplicate Name Record',
name: 'Avoid-Duplicate-Name',
expanded: true,
items: [],
},
],
},
],
},
{
label: 'Salesforce LWC',
name: 'Salesforce LWC',
expanded: false,
items: [
{
label: 'LWC Tutorial',
name: 'LWC-Tutorial',
expanded: false,
items: [
{
label: 'LWC how to get selected radio button value',
name: 'Get-selected-radio-button',
expanded: false,
items: [
{
label: 'How to creates a custom file uploader component',
name: 'Custom-file-uploader',
},
],
},
{
label: 'How to reset lightning input field values',
name: 'Reset-lightning-input-field',
},
],
},
],
},
];
}
Create Lightning Web Component Meta XML
Step 3:- Create Lightning Web Component Meta XML β‘ mulipleLevelsMenuLwc.js-meta.xml
SFDX:Lightning Web Component β‘ New >> mulipleLevelsMenuLwc.js-meta.xml
mulipleLevelsMenuLwc.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 Web Component Style CSS
Step 4:- Create Lightning Web Component Style CSS β‘ mulipleLevelsMenuLwc.css
SFDX:Lightning Web Component β‘ New β‘ mulipleLevelsMenuLwc.css
mulipleLevelsMenuLwc.css [Style CSS]
.lgc-bg {
background-color: #eee; border:1px #ddd solid; padding:10px;
}
.lgc-bg-inverse {
background-color: rgb(22, 50, 92);
}
Create Lightning Application
Step 5:- Create Lightning Application β‘ mulipleLevelsMenuLwcApp.app
From Developer Console β‘ File β‘ New β‘ Lightning Application
mulipleLevelsMenuLwcApp.app [Lightning Application File]
<aura:application extends="force:slds">
<c:mulipleLevelsMenuLwc/>
</aura:application>
Further post that would you like to learn in Salesforce
What is a vertical menu?
Vertical menus allow you to list all of your website's pages along the side of the page. It's makes vertical menus easier for website navigation.
Which is better vertical or horizontal navigation bar?
It is recommended to use vertical navigation when your application requires global navigation that is displayed on the left.
What is a sidebar navigation?
A sidebar provides app-level navigation and quick access to top-level collections of content in your app.
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 |