Hey guys, today in this post we are going to learn about How to Create a Modal Popup With a Form Inside as Shaw/Hide on Click Button Using ‘@track’ Const Variables in Lightning Web Component — LWC,
Files we used in this post example:-
lwcCustomModal.html | Lightning Web Component HTML | Template HTML file used to write HTML element for build user interface. |
lwcCustomModal.js |
Lightning Web Component JavaScript | It is hold click function and Shaw/Hide the modal popup. |
lwcCustomModal.js-meta.xml |
XML Meta | 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 : lwcCustomModal.html
SFDX:Lightning Web Component >> New >> lwcCustomModal.html
lwcCustomModal.html [Lightning Web Component HTML]
<template>
<lightning-card title="Display a Custom Popup/Modal In Salesforce Lightning Web Component -- LWC" icon-name="custom:custom20">
<!-- lightning button for open custom modal window -->
<lightning-button variant="brand"
label="Open Custom Modal Popup in LWC"
title="Open Modal"
onclick={customShowModalPopup}
class="slds-m-left_x-small"></lightning-button>
<!-- modal start -->
<template if:true={customFormModal}>
<section role="dialog" tabindex="-1" aria-labelledby="modal-heading-01" aria-modal="true" aria-describedby="modal-content-id-1" class="slds-modal slds-fade-in-open">
<div class="slds-modal__container">
<!-- modal header start -->
<header class="slds-modal__header">
<button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close" onclick={customHideModalPopup}>
<lightning-icon icon-name="utility:close"
alternative-text="close"
variant="inverse"
size="small" ></lightning-icon>
<span class="slds-assistive-text">Close</span>
</button>
<h2 class="slds-text-heading_medium slds-hyphenate">Custom Modal Popup in LWC</h2>
</header>
<!-- modal body start -->
<div class="slds-modal__content slds-p-around_medium">
<div class="slds-grid slds-wrap">
<div class="slds-col slds-size_6-of-12 slds-p-horizontal--medium slds-m-bottom_medium">
<lightning-input label="Name"></lightning-input>
</div>
<div class="slds-col slds-size_6-of-12 slds-p-horizontal--medium slds-m-bottom_medium">
<lightning-input label="Phone" ></lightning-input>
</div>
<div class="slds-col slds-size_6-of-12 slds-p-horizontal--medium slds-m-bottom_medium">
<lightning-input label="Email"></lightning-input>
</div>
<div class="slds-col slds-size_6-of-12 slds-p-horizontal--medium slds-m-bottom_medium">
<lightning-input label="Designation"></lightning-input>
</div>
</div>
<!-- modal footer start-->
<footer class="slds-modal__footer">
<button class="slds-button slds-button--destructive" onclick={customHideModalPopup}>Cancel</button>
<button class="slds-button slds-button_brand">Save</button>
</footer>
</div>
</div>
</section>
<div class="slds-backdrop slds-backdrop_open">
</div>
</template>
<!-- modal end -->
<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 : lwcCustomModal.js
SFDX:Lightning Web Component >> New >> lwcCustomModal.js
lwcCustomModal.js [JavaScript Controller]
import { LightningElement,track} from 'lwc';
export default class LwcCustomModal extends LightningElement {
@track customFormModal = false;
customShowModalPopup() {
this.customFormModal = true;
}
customHideModalPopup() {
this.customFormModal = false;
}
}
Step 3:- Create Lightning Web Component : lwcCustomModal.js-meta.xml
SFDX:Lightning Web Component >> New >> lwcCustomModal.js-meta.xml
lwcCustomModal.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>
Further post that would you like to learn in Salesforce
How do I create a modal popup in LWC?
Creating the modal popup is so easy in LWC and it's just few minutes of tasks. Modal Popup creates with the various methods will discuss only one of the way here. Create the Custom Component using VS code. In javascript, you only need to add or change in the value of the property.
How do I create a form in LWC?
The form loads in edit mode by default when you don't specify a record ID. Use object-api-name to pass the object API name for the record to be created. Specify the fields you want using the fields attribute, or use layout-type='Full' to load all fields in the full layout.
What is modal in LWC?
Modals/Popup Box are used to display content in a layer above the app. Mostly used to creation or editing of a record, as well as various types of messaging and wizards.
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 |