lightning-record-edit-form で保存後のレコードの値を取得する【LWC】

photo of triangle shape digital wallpaper Lightning Web Component
Photo by Scott Webb on Pexels.com

この記事では、lightning-record-edit-form で保存後のレコードの値を取得する方法を記述します。
これにより、保存後に親子関係を設定したり、他のレコードに値を設定することが可能になります。

実装例

今回は例として、

  1. 取引先責任者レコードページから、取引先を作成する画面を呼び出す
  2. 作成した取引先の値を取引先責任者に設定

という状況を考えます。

取引先の作成画面を lightning-record-edit-form で作るのですが、onsuccess={メソッド名} とすることでレコード保存後にメソッドを呼び出すことができます。

<lightning-record-edit-form object-api-name="Account" onsuccess={handleSuccess}>
    ...
</lightning-record-edit-form>

保存されたレコードの項目値は event.detail.fields.項目API名.value で取得することができます。
ID値 については、event.detail.id でも取得可能です。

import { LightningElement, api } from 'lwc';
import { updateRecord } from 'lightning/uiRecordApi';

export default class Sample extends LightningElement {
    @api recordId; // 取引先責任者のID値が入る
    hasMessage;

    handleSuccess(event) {
        const fields = {
            "Id": this.recordId,
            "Fax" : event.detail.fields.Fax.value, // 取引先の Fax の値
            "AccountId": event.detail.id // 取引先の ID の値
        };
        const recordInput = { fields };
        // 取引先責任者を更新
        updateRecord(recordInput).then(() => {
            this.hasMessage = true;
        });
    }
}

コメント

タイトルとURLをコピーしました