コンポーネントでのレコードコンテキストの認識

recordId プロパティが設定されたコンポーネントが Lightning レコードページで使用されている場合、ページでそのプロパティが現在のレコードの ID に設定されます。

コンポーネントの JavaScript クラスで、@api デコレータを使用して公開 recordId プロパティを作成します。

1// testClass.js
2import { LightningElement, api } from "lwc";
3export default class TestClass extends LightningElement {
4  @api recordId;
5}

Lightning Experience またはモバイルアプリケーションのレコードコンテキストでコンポーネントを呼び出すと、recordId はレコードの 18 文字 ID (例: 001xx000003DGSWAA4) に設定されます。

recordId は、明示的なレコードコンテキストでコンポーネントを配置または呼び出す場合にのみ自動で設定されます。その他の場合、recordId は設定されないため、コンポーネントでこれを使用することはできません。このような場合は、recordId を自分で設定できます。たとえば、クイックアクションに使用されるコンポーネントは、レコードページで使用されるときにレコード ID にアクセスする必要がある場合、明示的に recordId を設定できます。

Important

エクスペリエンスビルダーサイトでのレコードコンテキストへのアクセス 

エクスペリエンスビルダーサイトは、recordId をコンポーネントのテンプレートに自動的にバインドしません。

コンポーネントでこの目標を達成するには、コンポーネントの *.js-meta.xml ファイルの式に recordId を追加します。targets パラメータで指定されたすべてのページ種別は、レコード ID にアクセスできます。

1<targetConfigs>
2  <targetConfig targets="lightningCommunity__Default">
3    <property
4      name="recordId"
5      type="String"
6      label="Record Id"
7      description="Automatically bind the page's record id to the component variable"
8      default="{!recordId}"
9    />
10  </targetConfig>
11</targetConfigs>

エクスペリエンスビルダーサイトのレコードコンテキストでコンポーネントを呼び出すと、式 "{!recordId}" はレコードの 18 文字 ID に設定されます。

関連トピック

The Japanese Summer '24 guide is now live

日本語の Summer '24 ガイドが公開されました! 「Component Reference (コンポーネントリファレンス)」は、以前と同様にコンポーネントライブラリにあります。