getObjectInfo

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

構文 

1import { LightningElement, wire } from "lwc";
2import { getObjectInfo } from "lightning/uiObjectInfoApi";
3import ACCOUNT_OBJECT from "@salesforce/schema/Account";
4
5export default class Example extends LightningElement {
6  @wire(getObjectInfo, { objectApiName: ACCOUNT_OBJECT })
7  propertyOrFunction;
8}

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

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

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

パラメータ 

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

戻り値 

使用方法 

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

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

1import { LightningElement, api, wire, track } from "lwc";
2import { getObjectInfo } from "lightning/uiObjectInfoApi";
3import ACCOUNT_OBJECT from "@salesforce/schema/Account";
4
5export default class RecordFormWithRecordType extends LightningElement {
6  // Flexipage provides recordId and objectApiName
7  @api recordId;
8  @api objectApiName;
9
10  @track objectInfo;
11
12  @wire(getObjectInfo, { objectApiName: ACCOUNT_OBJECT })
13  objectInfo;
14
15  get recordTypeId() {
16    // Returns a map of record type Ids
17    const rtis = this.objectInfo.data.recordTypeInfos;
18    return Object.keys(rtis).find((rti) => rtis[rti].name === "Special Account");
19  }
20}

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

関連トピック

The Japanese Summer '24 guide is now live

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