首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >salesforce获取lightning组件中的帐户id

salesforce获取lightning组件中的帐户id
EN

Stack Overflow用户
提问于 2021-10-30 23:32:28
回答 1查看 438关注 0票数 0

我已经开发了一个闪电组件模式弹出窗口,以显示在机会页面。有两个选项:是和否。在条件下,此lightning组件正在将流传输到一个visualforce页面或另一个具有帐户id的页面。如何在lightning组件中获取帐户id。

代码语言:javascript
复制
<aura:component implements="force:lightningQuickActionWithoutHeader">
  Are you sure you want to proceed?
  <div class="slds-align_absolute-center">
    <lightning:button
      label="No"
      variant="destructive"
      onclick="{!handleNo}"
    ></lightning:button>
    <lightning:button label="Yes" onclick="{!c.handleYes}"></lightning:button>
  </div>
</aura:component>

控制器是

代码语言:javascript
复制
({
  handleNo: function (component, event, helper) {
    var urlEvent = $A.get("e.force:navigateToURL");
    urlEvent.setParams({
      url: "/apex/MyOtherVisualforce",
      isredirect: "true"
    });
    urlEvent.fire();
  },

  handleYes: function (component, event, helper) {
    var urlEvent = $A.get("e.force:navigateToURL");
    urlEvent.setParams({
      url: "/apex/MyVisualforce",
      isredirect: "true"
    });
    urlEvent.fire();
  }
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-31 18:58:15

为了从Opportunity获取客户Id,您首先需要获取执行Quick Action的位置的Opportunity Id。这可以通过实现force:hasRecordId接口轻松实现(除了已经实现的lightningQuickActionWithoutHeader接口之外)。通过这样做,您可以访问recordId属性,该属性已经包含了本例中Opportunity的记录id (https://developer.salesforce.com/docs/component-library/bundle/force:hasRecordId/documentation)。

获取商机Id后,您可以使用不同的方法来获取相关帐户的id。您可以创建一个Apex控制器,但也可以使用force:recordData组件(https://developer.salesforce.com/docs/component-library/bundle/force:recordData/documentation)来获取帐户Id。

代码语言:javascript
复制
<aura:component implements="force:lightningQuickActionWithoutHeader,force:hasRecordId">

  <aura:attribute type="Opportunity" name="opportunity" />

  <force:recordData
    recordId="{!v.recordId}"
    fields="AccountId"
    targetFields="{!v.opportunity}"
  />

  Are you sure you want to proceed?
  <div class="slds-align_absolute-center">
    <lightning:button
      label="No"
      variant="destructive"
      onclick="{!handleNo}"
    ></lightning:button>
    <lightning:button label="Yes" onclick="{!c.handleYes}"></lightning:button>
  </div>
</aura:component>

控制器:

代码语言:javascript
复制
({
  handleNo: function (component, event, helper) {
    var accountId = component.get("v.opportunity.AccountId");
    var urlEvent = $A.get("e.force:navigateToURL");
    urlEvent.setParams({
      url: "/apex/MyOtherVisualforce",
      isredirect: "true"
    });
    urlEvent.fire();
  },

  handleYes: function (component, event, helper) {
    var accountId = component.get("v.opportunity.AccountId");
    var urlEvent = $A.get("e.force:navigateToURL");
    urlEvent.setParams({
      url: "/apex/MyVisualforce",
      isredirect: "true"
    });
    urlEvent.fire();
  }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69782906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档