[SF] Lightning Experienceの詳細ページのボタンアクションの上書き

Lightning Experienceにて、詳細ページからのボタンの遷移先を自作のコンポーネントにするやり方。

Lightningコンポーネント

遷移先として設定したいLightningコンポーネントの、aura:componentタグのimplementslightning:actionOverrideをつける。

1
<aura:component implements="lightning:actionOverride" />

こうすれば、コンポーネントの選択肢として現れるようになる。
ただし上書きされたアクションは、モーダル表示ではなく、常にページ遷移となる。

さらに、編集ボタンを押下した際にはそのレコードのIDを持った状態で遷移するが、それを取得するには、implementsに、force:hasRecordIdを付与し、さらに、force:recordDataタグを使用してIDを渡してやる必要がある。

1
2
<aura:component implements="lightning:actionOverride,force:hasRecordId" />
<force:recordData aura:id="recordEditor" layoutType="FULL" recordId="{!v.recordId}"/>

すると、JSコントローラの中で以下のようにIDを取得することが可能。

1
component.get("v.recordId");

設定変更

オブジェクトマネージャから、設定したいオブジェクトの、「ボタン、リンク、およびアクション」を開き、設定したいボタンを編集することで変更可能。

参考

   このエントリーをはてなブックマークに追加