An example of custom event & dispatch event where we define a custom event in child component and passing values from child component to parent component in — LWC | how to pass value from child to parent component in lwc

2,934 views


Hey guys, today in this post we are going to learn about How to define a custom event in child lightning web component and passing values from child component to parent component in — LWC

Files we used in this post example:-

lwcParent.html Lightning Web Component HTML Template HTML file for used to write HTML element for user interface.
lwcParent.js Lightning Web Component JavaScript It is holding child component and it’s value.
lwcParent.js-meta.xml XML Meta File It is used for where this lightning web component you want to exposed.
lwcChild.html Lightning Web Component HTML It is child HTML file and calling on lwcParent.html.
lwcChild.js Lightning Web Component JavaScript It is holding @api public property with handler change functionality and it’s calling into parent componet.
lwcChild.js-meta.xml XML Meta File It is used for where this lightning web component should be exposed.
eventApplwc.app Lightning Application It is used for call the parent component to preview on browser.

Live Demo

passing values from child component to parent component in lwc -- w3web.net

 

You can download file directly from github by Click Here.

Note:: – You will get an email, so put correct email and mobile number and BEGIN YOUR JOURNEY from Today!
   

 
 

Other related post that would you like to learn in Salesforce

Start lwcParent Component

Step 1:- Create Lightning Web Component : lwcParent.html

SFDX:Lightning Web Component >> New >> lwcParent.html

lwcParent.html [Lightning Web Component HTML]

  1.   <template>
  2.     <lightning-card title="How to pass value from child to parent component in lwc" icon-name="custom:custom11">
  3.  
  4.         <div class="slds-wrap slds-grid">
  5.             <div class="slds-col slds-size_12-of-12 slds-p-horizontal--small slds-m-bottom--medium">
  6.  
  7.                 <h3><b>lwcChild Component</b></h3>
  8.                 <c-lwc-child ondemoevent={handleChange}></c-lwc-child>
  9.  
  10.                  <h3><b>lwcParent Component</b></h3>
  11.                  <b style="color:brown; margin-top:15px;">The Name Value Is:-</b> {currentVal}
  12.             </div>
  13.         </div>
  14.  
  15.  <br/><br/>
  16.    <!--Start RelatedTopics Section-->
  17. <div style="border:1px #ddd solid; padding:10px; background:#eee; margin:40px 0;">
  18.  
  19.             <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>
  20.  
  21.             <br/><br/>
  22.             <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>
  23.             <div style="display:block; overflow:hidden;"> 
  24.                 <div style="width: 50%; float:left; display:inline-block">
  25.                     <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> 
  26.                         <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>
  27.                         <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>
  28.                         <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>
  29.                         <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>
  30.                         <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>
  31.                     </ul>
  32.             </div>
  33.  
  34.             <div style="width: 50%; float:left; display:inline-block">
  35.                     <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> 
  36.                         <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>
  37.                         <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>
  38.                         <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>
  39.                         <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>
  40.                         <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>
  41.                     </ul>
  42.                 </div>
  43.                <div style="clear:both;"></div> 
  44.                <br/>
  45.                 <div class="youtubeIcon">
  46.                     <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>
  47.                 </div>
  48.     </div>
  49.  
  50. </div>
  51.  
  52.   <!--End RelatedTopics Section-->
  53. </lightning-card>
  54. </template>

Step 2:- Create Lightning Web Component : lwcParent.js

Note:: – You will get an email, so put correct email and mobile number and BEGIN YOUR JOURNEY from Today!
 
 

SFDX:Lightning Web Component >> New >> lwcParent.js

lwcParent.js [LWC JavaScript File]

  1. import {LightningElement,api} from 'lwc';
  2. export default class LwcParent extends LightningElement {
  3.        @api currentVal;
  4.        handleChange(event){
  5.         this.currentVal=event.detail;
  6.         //window.console.log('fldInp# ' + this.nameInp);        
  7.         }
  8. }

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]

  1.    <?xml version="1.0" encoding="UTF-8"?>
  2. <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
  3.     <apiVersion>45.0</apiVersion>
  4.     <isExposed>true</isExposed>
  5.     <targets>
  6.         <target>lightning__AppPage</target>
  7.         <target>lightning__RecordPage</target>
  8.         <target>lightning__HomePage</target>
  9.         <target>lightning__Tab</target>
  10.       </targets>
  11. </LightningComponentBundle>

Start lwcChild Component

Step 4:- Create Lightning Web Component : lwcChild.html

SFDX:Lightning Web Component >> New >> lwcChild.html

lwcChild.html [Lightning Web Component HTML]

  1.    <template> 
  2.     <div class="slds-wrap slds-grid">
  3.         <div class="slds-col slds-size_12-of-12 slds-p-horizontal--small slds-m-bottom--medium">
  4.             <lightning-input type="text" label="Name" name="name" onchange={handleChangeName}></lightning-input>
  5.         </div>
  6.     </div>
  7. </template>

Step 5:- Create Lightning Web Component : lwcChild.js

SFDX:Lightning Web Component >> New >> lwcChild.js

lwcChild.js [LWC JavaScript File]

  1.   import { LightningElement,api } from 'lwc';
  2.  
  3. export default class LwcChild extends LightningElement {  
  4.    @api nameInp;
  5.    handleChangeName(event){ 
  6.      this.nameInp = event.target.value;
  7.      const myDemoEvent = new CustomEvent('demoevent',{
  8.          detail:this.nameInp
  9.         });
  10.      this.dispatchEvent(myDemoEvent);
  11.      //window.console.log('nameInpBBB' + this.nameInp);
  12.    }
  13.  
  14. }

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]

  1.   <?xml version="1.0" encoding="UTF-8"?>
  2. <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
  3.     <apiVersion>45.0</apiVersion>
  4.     <isExposed>true</isExposed>
  5. </LightningComponentBundle>

Start Application Component

Step 7:- Create Lightning Application : eventApplwc.app

From Developer Console >> File >> New >> Lightning Application

eventApplwc.app [Component Application File]

  1.    <aura:application extends="force:slds">
  2.    <c:lwcParent/>
  3. </aura:application>

passing values from child component to parent component in lwc -- w3web.net

Further post that would you like to learn in Salesforce

 

 

FAQ (Frequently Asked Questions)

What is custom event LWC?

Custom events are used for communication in lightning web components. First, the comparison with Aura Components. In Aura component, we need to create a separate event file and need to register the event, where event is fired. LWC uses standard DOM events to create and dispatch events.

What is bubble event in LWC?

When we create an event, bubbles and composed define the event propagation behavior. In this behavior, the event bubbles up the DOM, but don't cross the shadow boundary. In simple terms, It bubbles up inside the current template, in which event is fired, but it would not cross it's boundary.

What is dispatch event?

dispatchEvent is what you call if you want to send or trigger an event. Internally, the browser is doing this whenever the user rotates their device, which triggers orientationchange. In this specific example, you don't need to trigger this manually unless you need to do so for testing.

 
Note:: – You will get an email, so put correct email and mobile number and BEGIN YOUR JOURNEY from Today!
 
 
  

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



Hi, This is Vijay Kumar behind the admin and founder of w3web.net. I am a senior software developer and working in MNC company from more than 8 years. I am great fan of technology, configuration, customization & development. Apart of this, I love to write about Blogging in spare time, Working on Mobile & Web application development, Salesforce lightning, Salesforce LWC and Salesforce Integration development in full time. [Read full bio] | | The Sitemap where you can find all published post on w3web.net

Leave a Comment