cmp
<aura:component implements="force:lightningQuickAction,force:hasRecordId" access="global">
<aura:attribute name="recordId" type="String" />
<aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
<lightning:flow aura:id="flowData" onstatuschange="{!c.statusChange}" />
</aura:component>
ctrl.js
({
//初期処理
doInit : function (cmp) {
var flow = cmp.find("flowData");
var id = cmp.get("v.recordId");
var inputVariables = [
{
name : 'recordId',
type : 'String',
value : id
}
];
flow.startFlow("CreateOrderData", inputVariables);
},
//フローの状態でイベントを発火する処理
statusChange : function (cmp, event) {
//フローが完了したら画面を閉じる
if(event.getParam('status') === "FINISHED") {
var newRecordId = event.getParam("outputVariables")[0].value;
var urlEvent = $A.get("e.force:navigateToURL");
urlEvent.setParams({
"url": "/lightning/r/Order__c/"+cmp.get("v.recordId")+"/view"
});
urlEvent.fire();
window.open("/lightning/r/Order__c/"+newRecordId+"/view",'_blank');
var urlEvent = $A.get("e.force:closeQuickAction");
urlEvent.fire();
}
}
})