📜  闪电组件获取当前记录 id (1)

📅  最后修改于: 2023-12-03 15:12:47.743000             🧑  作者: Mango

闪电组件获取当前记录id

闪电组件是一种流行的力软件开发平台,用于在Salesforce平台上构建可扩展的企业级应用程序。在开发过程中,获取当前记录的id是一个非常常见的需求。本文将介绍如何使用闪电组件获取当前记录id的方法。

使用预定义的force:hasRecordId接口

在闪电组件开发中,可以使用预定义的force:hasRecordId接口来获取当前记录的id。该接口返回一个字符串类型的id。可以在组件控制器中使用此id来执行其他操作。以下是使用force:hasRecordId接口的示例代码:

<aura:component implements="force:hasRecordId">
    <aura:attribute name="recordId" type="String"/>
    
    <div>{!v.recordId}</div>
</aura:component>

在上面的代码中,我们在组件实现中引用了force:hasRecordId接口。该接口使我们能够访问当前记录的id。我们在组件的控制器中使用该id来执行其他操作。在上面的代码中,我们使用aura:attribute定义了一个名为“recordId”的属性,并在组件中显示了该属性的值。

使用$A.get('e.force:navigateToSObject')事件

另一种获取当前记录id的方法是使用$A.get('e.force:navigateToSObject')事件。这个事件会导航到当前记录的详细信息页,同时将id作为参数传递。在控制器中,我们可以使用该id来执行其他操作。以下是使用$A.get('e.force:navigateToSObject')事件的示例代码:

<aura:component>
    <div onclick="{!c.navigateToRecord}">Click me to get record id</div>
</aura:component>
({
    navigateToRecord : function(component, event) {
        var navEvt = $A.get("e.force:navigateToSObject");
        navEvt.setParams({
              "recordId": component.get("v.recordId")
         });
         navEvt.fire();
    }
})

在上述代码中,我们在组件中定义了一个可点击的div元素。当用户单击该元素时,会触发名为navigateToRecord的组件控制器的函数。该函数使用$A.get('e.force:navigateToSObject')事件导航到当前记录的详细信息页,并将id作为参数传递。

总结

获取当前记录id是每个开发人员都需要掌握的技能。在闪电组件开发中,可以使用force:hasRecordId接口或$A.get('e.force:navigateToSObject')事件来获取当前记录id。无论使用哪种方法,都需要熟悉组件开发技术和Salesforce平台的基础知识。