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

アクション上書きとして使用する Aura コンポーネントの作成

lightning:actionOverride インターフェースを Aura コンポーネントに追加すると、そのコンポーネントを Lightning Experience または Salesforce モバイルアプリケーションでアクション上書きとして使用できます。このインターフェースを実装するコンポーネントのみがオブジェクトアクションの [プロパティの上書き] パネルの [Lightning コンポーネント] メニューに表示されます。
1<aura:component 
2    implements="lightning:actionOverride,force:hasRecordId,force:hasSObjectName">
3    
4    <article class="slds-card">
5      <div class="slds-card__header slds-grid">
6        <header class="slds-media slds-media_center slds-has-flexi-truncate">
7          <div class="slds-media__body">
8            <h2><span class="slds-text-heading_small">Expense Details</span></h2>
9          </div>
10        </header>
11        <div class="slds-no-flex">
12            <lightning:button label="Edit" onclick="{!c.handleEdit}"/>
13        </div>
14      </div>
15      <div class="slds-card__body">(expense details go here)</div>
16    </article>
17</aura:component>

Lightning Experience では、標準のタブアクションと表示アクションはページとして表示され、標準の新規アクションと編集アクションは、フロート表示されたパネルに表示されます。アクション上書きとして使用する場合、lightning:actionOverride インターフェースを実装する Aura コンポーネントは標準の動作を完全に置き換えます。ただし、上書きされたアクションはパネルとしてではなく常にページとして表示されます。コンポーネントに、Lightning Experience のメインナビゲーションバー以外のコントロールは表示されません。コンポーネントでは、ナビゲーションバーのほかに、ナビゲーションやアクションを含めアクションの完全なユーザインターフェースが提供されることが予想されます。

Lightning Experience では、標準のタブアクションと表示アクションはページとして表示され、標準の新規アクションと編集アクションは、フロート表示されたパネルに表示されます。アクション上書きとして使用する場合、lightning:actionOverride インターフェースを実装する Lightning コンポーネントは標準の動作を完全に置き換えます。ただし、上書きされたアクションはパネルとしてではなく常にページとして表示されます。コンポーネントに、Lightning Experience のメインナビゲーションバー以外のコントロールは表示されません。コンポーネントでは、ナビゲーションバーのほかに、ナビゲーションやアクションを含めアクションの完全なユーザインターフェースが提供されることが予想されます。

注目すべき Visualforce との重要な違いの 1 つは、[Lightning コンポーネント] メニューへのコンポーネントの追加方法です。[Visualforce ページ] メニューには、特定のオブジェクトの標準コントローラを使用するページ、または標準コントローラを一切使用しないページのリストが表示されます。この絞り込みにより、オブジェクトごとにメニューオプションが変化し、オブジェクトに固有のページまたは完全に汎用的なページのみが提供されます。

[Lightning コンポーネント] メニューには、lightning:actionOverride インターフェースを実装するすべてのコンポーネントが含まれます。lightning:actionOverride を実装するコンポーネントでは、システム管理者が特定のアクションまたは特定のオブジェクトのアクションのみを上書きできるように制限できません。目的のオブジェクトの目的のアクションを上書きするためだけにコンポーネントが使用されるように、組織でプロセスおよびコンポーネントの命名規則を採用することをお勧めします。このようにしても、コンポーネント開発者には、任意のオブジェクトの任意のアクションで使用できるように、lightning:actionOverride インターフェースを実装するコンポーネントで適切に対応する責任があります。

現在のレコードの詳細へのアクセス

通常、アクション上書きとして使用するコンポーネントには、使用するオブジェクト種別に関する詳細が必要です。多くの場合、それは現在のレコードの ID です。コンポーネントは、次のインターフェースを実装して次のオブジェクトおよびレコードの詳細にアクセスできます。

force:hasRecordId

force:hasRecordId インターフェースを Aura コンポーネントに追加すると、現在のレコードの ID をそのコンポーネントに割り当てることができます。現在のレコード ID は、Lightning Experience または Salesforce アプリケーションのオブジェクト固有のカスタムアクションやアクション上書きなどとして、コンポーネントを Lightning レコードページで使用する場合に便利です。

force:hasSObjectName

force:hasSObjectName インターフェースを Aura コンポーネントに追加すると、現在のレコードの sObject 型の API 参照名をそのコンポーネントに割り当てることができます。さまざまな sObject 型のレコードでコンポーネントを使用でき、現在のレコードの特定のタイプに適応する必要がある場合は、sObject 名が便利です。

API バージョン 45.0 以降、Lightning Web コンポーネントと Aura コンポーネント (元のモデル) の 2 つのプログラミングモデルを使用して、Lightning コンポーネントを作成できます。Lightning Web コンポーネントは、HTML と最新の JavaScript を使用して作成されたカスタム HTML 要素です。Lightning Web コンポーネントと Aura コンポーネントは 1 つのページで共存および相互運用できます。API バージョン 45.0 以降、Lightning コンポーネントは Aura コンポーネントと Lightning Web コンポーネントの両方を意味します。

メモ