В современном быстро меняющемся мире бизнеса быстрый доступ к актуальной информации имеет решающее значение. Одним из распространенных требований является отображение контактов, связанных с учетной записью, при нажатии кнопки. В этой статье блога мы рассмотрим различные методы достижения этой цели с помощью компонентов Lightning, предоставив примеры кода и разговорные объяснения.
Метод 1. Использование контроллера Apex и контроллера на стороне сервера.
Один из эффективных методов — использовать контроллер Apex для получения контактов, связанных с учетной записью, и контроллер на стороне сервера в компонентах Lightning для обработки события нажатия кнопки. Вот пример того, как это можно реализовать:
-
Создайте контроллер Apex для получения контактов, связанных с учетной записью:
public class ContactController { @AuraEnabled public static List<Contact> getAccountContacts(Id accountId) { return [SELECT Id, Name, Email FROM Contact WHERE AccountId = :accountId]; } } -
Создайте серверный контроллер в своем компоненте 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. Вы можете использовать эту услугу для отображения контактов, связанных с учетной записью, при нажатии кнопки. Вот пример:
-
Создайте компонент 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> -
Создайте серверный контроллер в своем компоненте Lightning для обработки события нажатия кнопки:
({ handleClick: function(component, event, helper) { var contactForm = component.find("contactForm"); contactForm.reloadRecord(); } })
В этой статье блога мы рассмотрели два разных метода отображения контактов, связанных с учетной записью, при нажатии кнопки с использованием компонентов Lightning. Первый метод включал использование контроллера Apex и контроллера на стороне сервера, а второй метод использовал службу Lightning Data Service. Оба метода предлагают эффективные способы достижения желаемой функциональности. Следуя предоставленным примерам кода, вы сможете легко реализовать эти методы в своих компонентах Lightning.