Modal/Popup in Lightning Web Component (LWC) : Amit Chaudhary
by: Amit Chaudhary
blow post content copied from Apex Hours
click here to view original post
In this post we will talk about how to create modal/Popup in Lightning web Component (LWC). Currently “lightning:overlayLib” is not available in Lightning Web Component, the only way to show modals and popups is through styling and making a custom html modal.
Whats is What is Modal / Popup in Lightning Web Component
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. Modal/Popup Lightning Web Component(LWC) Salesforce looks like following image.
Modal / Popup Example Lightning Web component(LWC)
You can take a help from SLDS for creating the modals. Code has following three main part
- section
- header
- footer
Create Lightning web component in your sandbox or developer org.
modalDemoInLWC.html
<template>
<lightning-button variant="success" label="Open popup"
title="Open popup" onclick={showModalBox}>
</lightning-button>
<!-- modal start -->
<template if:true={isShowModal}>
<!--
I Used SLDS for this code
Here is link https://www.lightningdesignsystem.com/components/modals/
-->
<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={hideModalBox}>
<lightning-icon icon-name="utility:close"
alternative-text="close"
variant="inverse"
size="small" ></lightning-icon>
<span class="slds-assistive-text">Close</span>
</button>
<h2 id="modal-heading-01" class="slds-text-heading_medium slds-hyphenate">Welcome in Apex Hours</h2>
</header>
<!-- modal body start -->
<div class="slds-modal__content slds-p-around_medium" id="modal-content-id-1">
<p>Modal/Popup in Lightning Web Component (LWC) Demo</p>
</div>
<!-- modal footer start-->
<footer class="slds-modal__footer">
<button class="slds-button slds-button_neutral" onclick={hideModalBox}>Cancel</button>
</footer>
</div>
</section>
<div class="slds-backdrop slds-backdrop_open"></div>
</template>
<!-- modal end -->
</template>
- Enable and disable the modal with template if:true
- Use section role=’dialog’
modalDemoInLWC.js
import { LightningElement,track } from 'lwc';
export default class ModalDemoInLWC extends LightningElement {
@track isShowModal = false;
showModalBox() {
this.isShowModal = true;
}
hideModalBox() {
this.isShowModal = false;
}
}
modalDemoInLWC.js-meta.js
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>48.0</apiVersion>
<isExposed>true</isExposed>
<targets>
<target>lightning__AppPage</target>
<target>lightning__RecordPage</target>
<target>lightning__HomePage</target>
</targets>
</LightningComponentBundle>
Summary
Learn more about model in lightning web component from here. Default modals are used in the vast majority of cases. They are as wide as 50% of the viewport, but include a minimum and maximum width to avoid going too narrow or too wide.
The post Modal/Popup in Lightning Web Component (LWC) appeared first on Apex Hours.
May 25, 2022 at 01:13PM
Click here for more details...
=============================
The original post is available in Apex Hours by Amit Chaudhary
this post has been published as it is through automation. Automation script brings all the top bloggers post under a single umbrella.
The purpose of this blog, Follow the top Salesforce bloggers and collect all blogs in a single place through automation.
============================
Post a Comment