gpt4 book ai didi

javascript - Lightning 组件,检索 Controller 中的查找记录值

转载 作者:行者123 更新时间:2023-12-02 23:38:32 25 4
gpt4 key购买 nike

我正在尝试将一个简单的 OnClick Javascript 按钮转换为 Lightning。这个 OnClick 非常简单,它只是打开一个 URL,但它使用父记录上的值作为 URL 的一部分。即机会对象上的一个按钮,它将从其父帐户的 This_Field__c 字段中获取部分 URL:

    window.open('https://www.salesforce.com/'+'{!Account.This_Field__c}'+'/info');

因此,如果字段上的值为 XYZ,则会打开页面 https://www.salesforce.com/XYZ/info

在 Lightning 组件中获取 Account.This_Field__c 值的最简单方法是什么?

考虑使用 Apex Controller ,但这似乎有点矫枉过正。尝试了force:recordData,似乎不起作用,可能是因为它位于父记录上。我们不希望机会上有更多字段,否则我可能会尝试使用公式。

window.open(' https://www.salesforce.com/ '+'{!Account.This_Field__c}'+'/info');

如果字段上的值为 XYZ,这将打开页面 https://www.salesforce.com/XYZ/info

最佳答案

<force:recordData>确实支持关系字段,尽管这个事实被隐藏在Lightning Data Service Considerations中文档中的页面:

Lightning Data Service supports spanned fields with a maximum depth of five levels.

这是一个非常简单的示例:

<aura:component implements="force:hasRecordId,flexipage:availableForRecordHome">
<aura:attribute name="targetRecord" type="Object" />

<force:recordData
recordId="{! v.recordId }"
fields="Account.Website"
targetFields="{! v.targetRecord }"
/>

<aura:if isTrue="{! not(empty(v.targetRecord.Account.Website)) }">
<a href="{! v.targetRecord.Account.Website }">Account Website</a>
</aura:if>
</aura:component>

Apex Controller 也可以工作,但会增加复杂性,因为您必须编写 Apex、JavaScript 和 Apex 单元测试。

最简单的解决方案是 HYPERLINK()机会的公式。

关于javascript - Lightning 组件,检索 Controller 中的查找记录值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56190648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com