能否在Salesforce的LWC或Aura组件中嵌入Action Layout?
在Salesforce Aura/LWC组件中调用带预定义字段的Action Layout
你提到的Action Layout本质是Quick Action(快速动作)的预定义字段布局,无法直接单独调用这个布局,但可以通过触发对应的Quick Action来唤起包含该预定义字段的界面。以下分别说明Aura和LWC的实现方式:
Aura组件实现
通过<lightning:quickActionAPI>组件调用指定的Quick Action,可按需预填充字段值:
组件代码
<aura:component implements="flexipage:availableForAllPageTypes"> <lightning:quickActionAPI aura:id="quickActionAPI"/> <lightning:button label="唤起预定义字段的Action" onclick="{!c.invokeQuickAction}"/> </aura:component>
控制器代码
({ invokeQuickAction : function(component, event, helper) { const quickActionAPI = component.find('quickActionAPI'); // 替换为你的对象API名称和快速动作API名称 const actionName = 'Account.Custom_Quick_Action__c'; // 可选:预填充字段值,匹配你Action Layout中的字段 quickActionAPI.setActionFieldValues({ actionName: actionName, fieldValues: { Name: '示例客户', AnnualRevenue: 500000 } }).then(() => { return quickActionAPI.invokeAction(actionName); }).catch(error => { console.error('调用快速动作失败:', error); }); } })
LWC组件实现
使用lightning/quickActionAPI模块完成调用,同样支持预填充字段:
JS代码
import { LightningElement } from 'lwc'; import { invokeQuickAction, setActionFieldValues } from 'lightning/quickActionAPI'; export default class InvokePredefinedAction extends LightningElement { async handleInvokeAction() { // 替换为实际的对象和快速动作API名称 const actionName = 'Account.Custom_Quick_Action__c'; try { // 可选:预填充字段值 await setActionFieldValues({ actionName: actionName, fieldValues: { Name: '示例客户', AnnualRevenue: 500000 } }); // 唤起快速动作界面 await invokeQuickAction(actionName); } catch (error) { console.error('调用失败:', error); } } }
HTML代码
<template> <lightning-button label="唤起预定义字段的Action" onclick={handleInvokeAction} variant="brand" ></lightning-button> </template>
关键注意事项
- 确保目标Quick Action已在Setup中配置好对应的字段布局(即你截图中的预定义字段),且当前用户拥有该动作的访问权限。
- 快速动作的API名称可在Setup → Object Manager → 对应对象 → Buttons, Links, and Actions中查看。
- 标准对象的动作名称格式为
ObjectName.ActionName,自定义对象为CustomObject__c.ActionName。
内容的提问来源于stack exchange,提问作者Arturo Castro
相关产品推荐
相关产品推荐

