この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Lightning コンポーネントでのフローの完了動作の制御

デフォルトでは、フローユーザが [完了] をクリックすると、コンポーネントで新しいインタビューが開始されて、ユーザにフローの最初の画面が再度表示されます。ただし、onstatuschange アクションを使用して、フローの完了時の動作を指定できます。別のページにリダイレクトするには、いずれかの force:navigateTo* イベント (force:navigateToObjectHomeforce:navigateToUrl など) を使用します。

自動起動フローの終了時の動作を制御するには、FINISHED_SCREEN の状況をチェックします。

メモ

1<aura:component access="global">
2    <aura:handler name="init" value="{!this}" action="{!c.init}" />
3    <lightning:flow aura:id="flowData" onstatuschange="{!c.handleStatusChange}" />
4</aura:component>
1// init function here
2handleStatusChange : function (component, event) {
3   if(event.getParam("status") === "FINISHED") {
4        // Redirect to another page in Salesforce, or
5        // Redirect to a page outside of Salesforce, or
6        // Show a toast, or...
7    }
8}

次の関数では、force:navigateToSObject イベントを使用して、フローで作成されたケースにユーザをリダイレクトします。

1handleStatusChange : function (component, event) {
2   if(event.getParam("status") === "FINISHED") {
3      var outputVariables = event.getParam("outputVariables");
4      var outputVar;
5      for(var i = 0; i < outputVariables.length; i++) {
6         outputVar = outputVariables[i];
7         if(outputVar.name === "redirect") {
8            var urlEvent = $A.get("e.force:navigateToSObject");
9            urlEvent.setParams({
10               "recordId": outputVar.value,
11               "isredirect": "true"
12            });
13            urlEvent.fire();
14         }
15      }
16   }
17}