Hey guys, today in this post we are going to learn about How to Communicate Between Parent to Child and Passing the Value from Parent Component to Child component in Lightning Web Component — LWC.
Files we used in this post example:-
lwcParent.html.html | Lightning Web Component HTML | Template HTMLΒ file for used to write HTML element for user interface. |
lwcParent.js.js | Lightning Web Component JavaScript | It is holding click functionality and geting the input value. |
lwcParent.js-meta.xml | XML Meta File | It is used for where this lightning web component should be exposed. |
lwcChild.html.html | Lightning Web Component HTML | It isΒ child HTML file and calling on lwcParent.html. |
lwcChild.js.js | Lightning Web Component JavaScript | It is holding @api public property and calling into parent componet. |
lwcChild.js-meta.xml | XML Meta File | It is used for where this lightning web component should be exposed. |
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 : lwcParent.html
SFDX:Lightning Web Component >> New >> lwcParent.html
lwcParent.html [Lightning Web Component HTML]
<template>
<lightning-card title="How to pass value from parent to child component in lwc" icon-name="custom:custom9">
<div class="slds-wrap slds-grid">
<div class="slds-col slds-size_6-of-12 slds-p-horizontal--small slds-m-bottom--medium">
<lightning-input name="firstName" label="First Name" value={firstNameVal} onchange={handleChange}></lightning-input>
</div>
<div class="slds-col slds-size_6-of-12 slds-p-horizontal--small slds-m-bottom--medium">
<lightning-input name="lastName" label="Last Name" value={lastNameVal} onchange={handleChange}></lightning-input>
</div>
<div class="slds-col slds-size_12-of-12 slds-p-horizontal--small slds-m-bottom--medium">
<c-lwc-child child-attr-val={fullNameVal}></c-lwc-child>
</div>
<div class="slds-col slds-size_12-of-12 slds-p-horizontal--small slds-m-bottom--medium slds-text-align--center">
<lightning-button variant="brand" size="small" label="Add Value" onclick={addValueAction}></lightning-button>
</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>
Step 2:- Create Lightning Web Component : lwcParent.js
SFDX:Lightning Web Component >> New >> lwcParent.js
lwcParent.js [LWC JavaScript File]
import { LightningElement, track } from 'lwc';
export default class LwcParent extends LightningElement {
@track firstNameVal;
@track lastNameVal;
@track fullNameVal;
handleChange(event){
if(event.target.name=='firstName'){
this.firstNameVal = event.target.value;
//window.console.log('firstNameVal# ' + this.firstNameVal );
}
if(event.target.name=='lastName'){
this.lastNameVal = event.target.value;
//window.console.log('lastNameVal# ' + this.lastNameVal );
}
}
addValueAction(event){
this.fullNameVal = this.firstNameVal + ' ' + this.lastNameVal;
// window.console.log('fullNameVal# ' + this.fullNameVal );
}
}
Step 3:- Create Lightning Web Component : lwcParent.js-meta.xml
SFDX:Lightning Web Component >> New >> lwcParent.js-meta.xml
lwcParent.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>
Step 4:- Create Lightning Web Component : lwcChild.html
SFDX:Lightning Web Component >> New >> lwcChild.html
lwcChild.html [Lightning Web Component HTML]
<template>
<b style="color:brown;">Full name is:- </b> {childAttrVal}
</template>
Step 5:- Create Lightning Web Component : lwcChild.js
SFDX:Lightning Web Component >> New >> lwcChild.js
lwcChild.js [LWC JavaScript File]
import { api, LightningElement } from 'lwc';
export default class LwcChild extends LightningElement {
@api childAttrVal;
}
Step 6:- Create Lightning Web Component : lwcChild.js-meta.xml
SFDX:Lightning Web Component >> New >> lwcChild.js-meta.xml
lwcChild.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>
</LightningComponentBundle>
Further post that would you like to learn in Salesforce
How do you communicate with aura and LWC?
receiveData line in the passDataToLWC method in the Aura Components Javascript controller. This is finding the lwc that we imported into our Aura Component by its aura:id and then calling the receiveData method in the LWC (the @api decorator) and passing it data.
How do you navigate from LWC to LWC?
However, there is a workaround, if you want to navigate the user from one LWC to another LWC, you can embed LWC in an Aura Component and navigate the user from LWC to an Aura Component. Out of the box, LWC framework provides us helper methods to send the user from Lightning Web Component to an Aura Component.
What is parent/child communication?
Parentβchild communication is the verbal and nonverbal interaction between a parent and child within a family system. Parents are biological or nonbiological caregivers and parentβchild communication takes place throughout the child's ages and developmental stages.
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 |