@salesforce/schema
からのオブジェクトと項目のインポート
オブジェクトや項目への参照をインポートした場合、Salesforce はオブジェクトや項目が存在することを確認し (タイポも見つけます)、オブジェクトや項目が削除されることを防止し、名前変更されたオブジェクトや項目をコンポーネントのソースコードにカスケードします。また、連動オブジェクトや連動項目が変更セットおよびパッケージに含まれることも確認します。オブジェクトや項目への参照をインポートすると、オブジェクトや項目の名前が変更されても、コードは確実に機能します。
コンポーネントで Apex クラスを介してオブジェクトを取得し、@salesforce/schema
からオブジェクトへの参照をインポートする場合、getSObjectValue()
をコールしてオブジェクトから項目値を取得します。
{sobject}
— Apex メソッドから返されるオブジェクト。{fieldApiName}
— 項目の API 参照名。値は文字列、または@salesforce/schema
からインポートされた項目への参照にすることができます。最大 5 レベルの拡張項目を指定できます。たとえば、Opportunity.Account.CreatedBy.LastModifiedById
は 4 レベルの拡張項目を返します。
lwc-recipes の apexStaticSchema
コンポーネントを見てみましょう。コンポーネントはそのデータを、1 つの取引先責任者を返す Apex メソッドから取得します。
JavaScript は getSObjectValue
関数と getSingleContact
メソッドを @salesforce/apex
からインポートします。取引先責任者項目への参照を @salesforce/schema
からインポートします。
Apex メソッドは contact
プロパティに結び付けられています。テンプレートの name
、title
、email
プロパティには、指定された項目から値を抽出する getSObjectValue()
をコールする getter があります。