Hey guys, today in this post we are going to learn about How to display account related contacts based on account name using search input and click button in Salesforce lightning web component – LWC.
Files we used in this post example:
displayContactsOnAccountName.html | Lightning Web Component HTML | Template HTML file for used to write HTML element for user interface. |
displayContactsOnAccountName.js | Lightning Web Component JavaScript | It is holding @wire property with handleAccountSearch functionality and Search lightning input field. |
displayContactsOnAccountName.js-meta.xml | XML Meta File | It is used for where this lightning web component you want to exposed. |
lwcApp.app | Lightning Application File | It is used for call the component and preview on browser.. | lwcAppExampleApex.cls | Apex Controller | It is used for retrieve the data from server. |
Live Demo
You can download file directly from github by Click Here.
Other related post that would you like to learn in Salesforce
Step 1:- Create Lightning Web Component : displayContactsOnAccountName.html
SFDX:Lightning Web Component >> New >> displayContactsOnAccountName.html
displayContactsOnAccountName.html [Lightning Web Component HTML]
<template>
<lightning-card title="How to display the Contacts based on Account Name in LWC" custom-icon="custom:icon13">
<div class="slds slds-p-horizontal--medium">
<div class="slds-grid slds-wrap">
<div class="slds-col slds-size_4-of-12 slds-m-bottom--medium">
<lightning-Input type="search" placeholder="Search..." value={accountName} name="accountName" class="accountName" onchange={handleChangeAccName}></lightning-input>
</div>
<div class="slds-col slds-size_6-of-12 slds-m-top--medium" style="margin-top: 19px; margin-left: 10px;">
<lightning-button label="Search Account Name" size="small" variant="brand" onclick={handleAccountSearch} icon-name="utility:search" icon-position="right"></lightning-button>
</div>
</div>
<h2>Account Name :- <span><strong>{currentAccountName}</strong></span></h2><br/>
<h3><strong><span style="color:brown;">{dataNotFound}</span></strong></h3><br/>
<h2 class="slds-m-bottom--x-small" style="color:darkslateblue; font-weight:bold;">Displaying Contacts Records based on Account Name</h2>
<table class="slds-table slds-table_cell-buffer slds-table_bordered" border="1" cellspacing="0" cellpadding="0" bordercolor="#ccc" style="border-collapse:collapse;">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
<th>Phone</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<template for:each={records} for:item="conItem">
<tr key={conItem.Id}>
<td>{conItem.FirstName}</td>
<td>{conItem.LastName}</td>
<td>{conItem.Email}</td>
<td>{conItem.Phone}</td>
<td>{conItem.Account.Name}</td>
</tr>
</template>
</tbody>
</table>
</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>
Step 2:- Create Lightning Web Component : displayContactsOnAccountName.js
SFDX:Lightning Web Component >> New >> displayContactsOnAccountName.js
displayContactsOnAccountName.js [LWC JavaScript File]
import { LightningElement, track, wire } from 'lwc';
import retrieveContactData from '@salesforce/apex/lwcAppExampleApex.retrieveContactData';
export default class DisplayContactsOnAccountName extends LightningElement {
@track currentAccountName;
@track searchAccountName;
handleChangeAccName(event){
this.currentAccountName = event.target.value;
}
handleAccountSearch(){
this.searchAccountName = this.currentAccountName;
}
@track records;
@track dataNotFound;
@wire (retrieveContactData,{keySearch:'$searchAccountName'})
wireRecord({data,error}){
if(data){
this.records = data;
this.error = undefined;
this.dataNotFound = '';
if(this.records == ''){
this.dataNotFound = 'There is no Contact found related to Account name';
}
}else{
this.error = error;
this.data=undefined;
}
}
}
Step 3:- Create Lightning Web Component : displayContactsOnAccountName.js-meta.xml
SFDX:Lightning Web Component >> New >> displayContactsOnAccountName.js-meta.xml
displayContactsOnAccountName.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>
<target>lightning__Tab</target>
</targets>
</LightningComponentBundle>
Start Apex Controller
Step 4:- Create Apex Controller : lwcAppExampleApex.cls
SFDX:Create Apex Class >> New >> lwcAppExampleApex.cls
lwcAppExampleApex.cls [Apex Class]
public WITH sharing class lwcAppExampleApex {
@AuraEnabled(cacheable=TRUE)
public static List<Contact> retrieveContactData(string keySearch){
List<Contact> contactList = [SELECT Id, FirstName, LastName, Email, Phone, Account.Name FROM Contact WHERE Account.Name=:keySearch];
RETURN contactList;
}
}
Start Lightning Application
Step 5:- Create Lightning Application : lwcApp.app
From Developer Console >> File >> New >> Lightning Application
lwcApp.app [Component Application File]
<aura:application extends="force:slds">
<c:displayContactsOnAccountName/>
</aura:application>
Further post that would you like to learn in Salesforce
How do I associate a contact with multiple accounts in Salesforce?
From Setup, enter Account Settings in the Quick Find box, then select Account Settings. Select Allow users to relate a contact to multiple accounts. You can use custom fields to capture unique information about relationships—for example, the best time to call a contact.
How do you display related records in lightning component?
First, edit the lightning page layout by clicking on the setup gear in the upper right-hand corner and selecting Edit Page. Add a related record component by dragging it from the component list to the page. Choose which record is displayed by clicking Edit Lookup Fields and choosing contact name and then done.
What is the difference between related contacts and contacts in Salesforce?
Contacts are the standard relationship for People who are under that Account. The 'Related Contacts' lists is a result of activating Contacts to Multiple Accounts. This feature is used when contacts work at different companies and removes the need for duplicates.
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 |