Apex wire サービスでデータをアプリケーションに取得するサンプル

環境
Salesforce Apex
構文
import { adapterId } from 'adapter-module’;
@wire(adapterId, adapterConfig) propertyOrFunction;
adapterId (ID) — wire アダプターの ID。
adapter-module (文字列) — wire アダプター関数が含まれるモジュールの ID。
adapterConfig (オブジェクト) — wire アダプター固有の設定オブジェクト。
propertyOrFunction — wire サービスからデータのストリームを受信する非公開のプロパティまたは関数。
プロパティが @wire でデコレートされている場合、結果はそのプロパティの data プロパティまたは error
プロパティに返されます。関数が @wire でデコレートされている場合、
結果は data プロパティと error プロパティを持つオブジェクトで返されます。
使用例
import { LightningElement, wire } from 'lwc'; 
import { getRecord, getFieldValue } from 'lightning/uiRecordApi'; 
import Id from '@salesforce/user/Id'; 
import NAME_FIELD from '@salesforce/schema/User.Name'; 
const fields = [NAME_FIELD]; 
export default class Selector extends LightningElement { 
  selectedProductId; 
  handleProductSelected(evt) { 
    this.selectedProductId = evt.detail; 
  } 
  userId = Id; 
  @wire(getRecord, { recordId: '$userId', fields }) 
  user; 
  get name() { 
    return getFieldValue(this.user.data, NAME_FIELD); 
  } 
}

説明
行 1 で、wire サービスを lwc からインポートします。
行 2 で、getRecord と getFieldValue の adapterId と adapter-module を lightning/uiRecordApi からインポートします。
行 3 で、@salesforce モジュールを使用して現在のユーザー ID をインポートします。
行 4 で、User.Name の @salesforce スキーマをインポートします。
行 12 で、@wire デコレーターを使用して、ワイヤーサービスで getRecord をコールし、userId を渡して fields を取得します。
行 13 で、user を @wire コールのレシーバーとして設定します。

IT

Posted by arkgame