generateRecordInputForUpdate(record, objectInfo)

updateRecord(recordInput) を使用してレコードを更新するために使用できるレコードの表現 (レコード入力) を生成します。ObjectInfo を渡すと、レコード入力が更新可能な項目のみに絞り込まれます。

構文 

1import { generateRecordInputForUpdate } from 'lightning/uiRecordApi';
2generateRecordInputForUpdate(record: Record, objectInfo?: ObjectInfo): RecordInput

パラメータ 

  • record — (必須) ソースデータを含むレコードオブジェクト。レコードオブジェクトを作成するためのデータを取得するには、getRecord ワイヤアダプタを使用します。
  • objectInfo — (省略可能) レコードの apiName に対応した ObjectInfo。オブジェクト情報を取得するには、getObjectInfo ワイヤアダプタを使用します。指定した場合、updateable=true である項目のみ (Id は除く) が応答に含められます。

戻り値 

指定されたレコードからのデータが設定されたレコード入力オブジェクト。値がネストされたレコードではないすべての項目を返します。

使用方法 

レコードのレコード入力オブジェクトを返します。

1import { LightningElement, api, wire } from "lwc";
2import { getRecord, generateRecordInputForUpdate } from "lightning/uiRecordApi";
3import { getObjectInfo } from "lightning/uiObjectInfoApi";
4
5export default class WireGenerateRecordInput extends LightningElement {
6  @api recordId;
7  @api objectApiName;
8
9  @wire(getRecord, {
10    recordId: "$recordId",
11    layoutTypes: "Full",
12    modes: "Edit",
13  })
14  wiredRecord;
15
16  get recordInputForUpdate() {
17    if (!this.wiredRecord.data || !this.objectInfo.data) {
18      return undefined;
19    }
20
21    const recordInput = generateRecordInputForUpdate(this.wiredRecord.data, this.objectInfo.data);
22    return recordInput;
23  }
24
25  get errors() {
26    return this.wiredRecord.error;
27  }
28}

連絡先レコードについて、generateRecordInputForUpdate によって次のようなオブジェクトが返されます。返される項目は、システム管理者がオブジェクトのレイアウトに含めた内容に応じて異なります。

1{
2  "fields":{
3    "AccountId":"0011a0000000000AAA",
4    "AssistantName":null,
5    "AssistantPhone":null,
6    "Birthdate":"1941-09-26",
7    "Department":"Finance",
8    "Description":null,
9    "Email":"ajames@example.com",
10    "Fax":"+1 415 1234567",
11    "FirstName":"Ashley",
12    "HomePhone":null,
13    "LastName":"James",
14    "LeadSource":"Public Relations",
15    "MailingCity":"San Francisco",
16    "MailingCountry":"USA",
17    // More fields here
18    "Id":"0031a0000000000AAA"
19  }
20}

返されたデータを実際のレイアウトで使用する場合のみ、getRecordlayoutTypes (fields ではない) と一緒に使用することをお勧めします。

特定の項目が必要な場合は、これらの項目がレイアウトに存在することを前提とするのではなく、fields または optionalFields を使用します。

例 

lwc-recipes リポジトリの ldsGenerateRecordInputForCreate の例を参照してください。

The Japanese Summer '24 guide is now live

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