@salesforce/schema からのオブジェクトと項目のインポート

オブジェクトや項目への参照をインポートした場合、Salesforce はオブジェクトや項目が存在することを確認し (タイポも見つけます)、オブジェクトや項目が削除されることを防止し、名前変更されたオブジェクトや項目をコンポーネントのソースコードにカスケードします。また、連動オブジェクトや連動項目が変更セットおよびパッケージに含まれることも確認します。オブジェクトや項目への参照をインポートすると、オブジェクトや項目の名前が変更されても、コードは確実に機能します。

コンポーネントで Apex クラスを介してオブジェクトを取得し、@salesforce/schema からオブジェクトへの参照をインポートする場合、getSObjectValue() をコールしてオブジェクトから項目値を取得します。

  • {sobject} — Apex メソッドから返されるオブジェクト。
  • {fieldApiName} — 項目の API 参照名。値は文字列、または @salesforce/schema からインポートされた項目への参照にすることができます。最大 5 レベルの拡張項目を指定できます。たとえば、Opportunity.Account.CreatedBy.LastModifiedById は 4 レベルの拡張項目を返します。

lwc-recipesapexStaticSchema コンポーネントを見てみましょう。コンポーネントはそのデータを、1 つの取引先責任者を返す Apex メソッドから取得します。

取引先責任者 Amy Taylor (役職: VP of Engineering) とメールアドレスが表示されます。

JavaScript は getSObjectValue 関数と getSingleContact メソッドを @salesforce/apex からインポートします。取引先責任者項目への参照を @salesforce/schema からインポートします。

Apex メソッドは contact プロパティに結び付けられています。テンプレートの nametitleemail プロパティには、指定された項目から値を抽出する getSObjectValue() をコールする getter があります。