Изучение нескольких методов отображения контактов, связанных с учетной записью, при нажатии кнопки с использованием компонентов Lightning

В современном быстро меняющемся мире бизнеса быстрый доступ к актуальной информации имеет решающее значение. Одним из распространенных требований является отображение контактов, связанных с учетной записью, при нажатии кнопки. В этой статье блога мы рассмотрим различные методы достижения этой цели с помощью компонентов Lightning, предоставив примеры кода и разговорные объяснения.

Метод 1. Использование контроллера Apex и контроллера на стороне сервера.
Один из эффективных методов — использовать контроллер Apex для получения контактов, связанных с учетной записью, и контроллер на стороне сервера в компонентах Lightning для обработки события нажатия кнопки. Вот пример того, как это можно реализовать:

  1. Создайте контроллер Apex для получения контактов, связанных с учетной записью:

    public class ContactController {
    @AuraEnabled
    public static List<Contact> getAccountContacts(Id accountId) {
        return [SELECT Id, Name, Email FROM Contact WHERE AccountId = :accountId];
    }
    }
  2. Создайте серверный контроллер в своем компоненте Lightning для обработки события нажатия кнопки и вызова метода Apex:

    ({
    handleClick: function(component, event, helper) {
        var accountId = component.get("v.accountId");
        var action = component.get("c.getAccountContacts");
        action.setParams({ accountId: accountId });
    
        action.setCallback(this, function(response) {
            var state = response.getState();
            if (state === "SUCCESS") {
                var contacts = response.getReturnValue();
                component.set("v.contacts", contacts);
            }
        });
    
        $A.enqueueAction(action);
    }
    })

Метод 2. Использование службы данных Lightning.
Служба данных Lightning обеспечивает декларативный способ работы с данными Salesforce в компонентах Lightning. Вы можете использовать эту услугу для отображения контактов, связанных с учетной записью, при нажатии кнопки. Вот пример:

  1. Создайте компонент Lightning с компонентами службы данных Lightning:

    <aura:component>
    <aura:attribute name="accountId" type="Id" />
    <lightning:recordViewForm recordId="{!v.accountId}" objectApiName="Account">
        <lightning:button label="Show Contacts" onclick="{!c.handleClick}" />
    </lightning:recordViewForm>
    <lightning:recordViewForm aura:id="contactForm" recordId="{!v.accountId}" objectApiName="Account">
        <lightning:outputField fieldName="Contacts" />
    </lightning:recordViewForm>
    </aura:component>
  2. Создайте серверный контроллер в своем компоненте Lightning для обработки события нажатия кнопки:

    ({
    handleClick: function(component, event, helper) {
        var contactForm = component.find("contactForm");
        contactForm.reloadRecord();
    }
    })

В этой статье блога мы рассмотрели два разных метода отображения контактов, связанных с учетной записью, при нажатии кнопки с использованием компонентов Lightning. Первый метод включал использование контроллера Apex и контроллера на стороне сервера, а второй метод использовал службу Lightning Data Service. Оба метода предлагают эффективные способы достижения желаемой функциональности. Следуя предоставленным примерам кода, вы сможете легко реализовать эти методы в своих компонентах Lightning.