Salesforce Lightning データサービスを使用したデータの操作サンプル

環境
Lightning Web コンポーネント

概要
lightning-record-form ではレイアウトを指定でき、
システム管理者は宣言的にフォーム項目を設定できます。
Lightning Web サービスで 1 件のレコードを操作する場合、
lightning-record-*-form コンポーネントを使用するのが最も簡単な方法です。

使用例
lightning-record-form を使用して取引先を作成します。
1.accountCreator.html

<template>
  <lightning-card>
     <lightning-record-form
         object-api-name={objectApiName}
         fields={fields}
         onsuccess={handleSuccess}>
        </lightning-record-form>
  </lightning-card>
</template>

説明
lightning-record-form を使用することで、
Lightning データサービスが提供するセキュリティと
パフォーマンスのメリットをすべて得ることができます。
object-api-name プロパティをバインドして読み込む
オブジェクトの種類を指定します。
fields プロパティをバインドしてフォームに表示する項目を指定します。
handleSuccess を success イベントのハンドラーとして設定します。

2.accountCreator.js

import { LightningElement } from 'lwc';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import ACCOUNT_OBJECT from '@salesforce/schema/Account';
import NAME_FIELD from '@salesforce/Schema/Account.Name'
import REVENUE_FIELD from '@salesforce/schema/Account.AnnualRevenue';
import INDUSTRY_FIELD from '@salesforce/schema/Account.Industry';
export default class AccountCreator extends LightningElement {
   objectApiName = ACCOUNT_OBJECT;
   fields = [NAME_FIELD, REVENUE_FIELD,INDUSTRY_FIELD];
   handleSuccess(event) {
       const toastEvent =new ShowToastEvent({
             title: "Account created",
               message: "Record ID: " + event.detail.id,
               variant: "success"
           });
             this.dispatchEvent(toastEvent);
   }
}

説明
「import xxx」でファイルの冒頭で取引先オブジェクトと
その項目への参照をインポートします。
success イベントの handleSuccess イベントハンドラーを定義します。
handleSuccess は、保存操作が成功すると実行されます。
ShowToastEvent を起動してトーストメッセージを表示します。
event.detail.id は新しく作成されたレコードの id への参照です。

IT

Posted by arkgame