ヘッドレスクイックアクションの作成
ヘッドレスクイックアクションでは、Lightning Web コンポーネントでカスタムコードを実行します。画面アクションとは異なり、ヘッドレスアクションではモーダルウィンドウは開きません。
コンポーネントをヘッドレスクイックアクションとして使用できるようにするには、対象を設定します。「クイックアクション用のコンポーネントの設定」を参照してください。
レコードページの他の Lightning Web コンポーネントとは異なり、LWC クイックアクションは connectedCallback()
の recordId
を渡しません。recordId
にアクセスする必要がある場合は、コードに recordId
の値を設定します。
Lightning Web コンポーネントで、invoke()
を常にヘッドレスクイックアクションの公開メソッドとして公開します。invoke()
メソッドは、クイックアクションがトリガされるたびに実行されます。
Lightning Web コンポーネントの空のテンプレートを作成します。
長時間実行されるアクションでクイックアクションが並列で複数回実行されないようにするには、内部 Boolean フラグを追加します。
invoke()
の戻り値の型は void
です。Promise
を返すとメソッドが非同期になりますが、返される Promise
は無視されます。
次のコードでは、Boolean フラグを使用して二重実行をブロックし、Promise
を使用して sleep
が完了するのを待機します。戻り値の型が void
の場合でも、コードは非同期で実行されます。
Lightning Experience で別のページ、レコード、またはリストに移動するには、ナビゲーションサービスを使用します。
次の例では、取引先責任者ホームページに移動します。
「ページ、レコード、リストへの移動」を参照してください。
クイックアクションからカスタムイベントをディスパッチできます。次の例では、lightning/platformShowToastEvent
モジュールによって指定されたイベントを使用して、2 つのトーストを順次ディスパッチします。
「トースト通知」および「イベントを使用した通信」を参照してください。