getObjectInfo

特定のオブジェクトに関するメタデータを取得するには、このワイヤアダプタを使用します。応答には、オブジェクトの項目、子リレーション、レコードタイプ、テーマを記述するメタデータが含まれます。

構文 

import { LightningElement, wire } from "lwc";
import { getObjectInfo } from "lightning/uiObjectInfoApi";
import ACCOUNT_OBJECT from "@salesforce/schema/Account";

export default class Example extends LightningElement {
  @wire(getObjectInfo, { objectApiName: ACCOUNT_OBJECT })
  propertyOrFunction;
}

ユーザインターフェース API リソース 

GET /ui-api/object-info/{objectApiName}

getObjectInfo は、このユーザインターフェース API リソースを使用します。

パラメータ 

  • objectApiName — (必須) サポートされているオブジェクト
  • propertyOrFunction — ワイヤサービスからデータのストリームを受信する非公開のプロパティまたは関数。プロパティが @wire でデコレートされている場合、結果はそのプロパティの data プロパティまたは error プロパティに返されます。関数が @wire でデコレートされている場合、結果は data プロパティと error プロパティを持つオブジェクトで返されます。

戻り値 

使用方法 

1 つのオブジェクトのメタデータを取得するには、getObjectInfo を使用します。複数のオブジェクトを操作するには、getObjectInfos を使用します。

次の例では、レコードタイプ ID と、レコードタイプ名 [Special Account (特別なアカウント)] に一致する ID を返します。

import { LightningElement, api, wire, track } from "lwc";
import { getObjectInfo } from "lightning/uiObjectInfoApi";
import ACCOUNT_OBJECT from "@salesforce/schema/Account";

export default class RecordFormWithRecordType extends LightningElement {
  // Flexipage provides recordId and objectApiName
  @api recordId;
  @api objectApiName;

  @track objectInfo;

  @wire(getObjectInfo, { objectApiName: ACCOUNT_OBJECT })
  objectInfo;

  get recordTypeId() {
    // Returns a map of record type Ids
    const rtis = this.objectInfo.data.recordTypeInfos;
    return Object.keys(rtis).find((rti) => rtis[rti].name === "Special Account");
  }
}

詳細な例については、「基本コンポーネントの比較」を参照してください。

関連トピック

The Japanese Summer '24 guide is now live

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