如何 open/close Salesforce Lightning App 中的模态?

How to open/close a modal in Salesforce Lightning App?

我看到了这篇关于 modals 的文档。

但是没有用于从按钮或类似 bootstrap 之类的东西唤醒模式的行会行。

你们知道我该怎么做吗?

默认模式是打开的。您需要使用 aura:if.

进行控制

在 Salesforce Lightning 中,我们没有任何 open/close 模式的内置功能,这个对我有用。

组件

<div aura:id="exampleModal"  class="slds-modal slds-fade-in-open hideDiv" aria-hidden="false" role="dialog">
        <div class="slds-modal__container" style="max-width:50rem;">
            <div class="slds-modal__header">
                <button class="slds-button slds-button--icon-inverse slds-modal__close" onclick="{!c.hideExampleModal}">
                    <lightning:icon iconName="utility:close" size="medium" variant="bare"/>
                    <span class="slds-assistive-text">Close</span>
                </button>
                <h2 class="slds-text-heading--medium">Example Modal</h2>
            </div>
            <div class="slds-modal__content slds-p-around--medium">
                <div class="modalContent">
                   <p>Content goes here</p> 
                </div>
            </div>
            <div class="slds-modal__footer">
                <button class="slds-button slds-button--neutral slds-button--brand" onclick="{!c.hideExampleModal}">Close</button>
            </div>
        </div>
 </div>

Controller.js

    hideExampleModal : function(component, event, helper) {
        helper.hideExampleModal(component);
    },
    
    showExampleModal : function(component, event, helper) {
        helper.showExampleModal(component);
    },

Helper.js

    showExampleModal : function(component) {      
        var modal = component.find("exampleModal");
        $A.util.removeClass(modal, 'hideDiv');        
    },
    
    hideExampleModal : function(component) {
        var modal = component.find("exampleModal");
        $A.util.addClass(modal, 'hideDiv');
    },

时尚

.THIS.hideDiv {
    display: none;
}