レコードの操作に関する使用上の考慮事項

基本コンポーネントを使用してレコードを操作することで、追加の設定なしで Lightning データサービスを利用できますが、いくつかのカスタム使用事例では考慮が必要です。

次の使用事例について考えてみましょう。

  • レコードタイプに基づいてレコードフォームを (レコードタイプに基づいた選択リストの値を含めて) 表示するために、レコードタイプ ID を取得する。
  • レコード送信が正常に完了したことを親コンポーネントに通知するために、カスタムイベントをディスパッチして処理する。

選択リスト項目は、レコードタイプに基づいて値を表示します。lightning-record-form または lightning-record-edit-form の操作において、オブジェクトに複数のレコードタイプがあり、デフォルトのレコードタイプがない場合は、レコードタイプ ID を指定する必要があります。指定しない場合は、デフォルトのレコードタイプが使用されます。

レコードタイプの情報を取得するには、getObjectInfo ワイヤアダプタを使用します。

record-type-id 属性を提供することで、レコードタイプに基づいたレコード作成フォームを表示します。次の例は、取引先レコードページに配置できるフォームを示しています。フォームには、項目と、指定されたレコードタイプに基づいた選択リストの値が表示されます。

getObjectInfo モジュールと取引先オブジェクトへの参照をインポートします。recordTypeId getter は、レコードタイプ名の Special Account と一致する ID を返します。

recordTypeInfos プロパティは、組織で使用できるレコード ID のマップを返します。

lightning-record-formlightning-record-edit-formlightning-record-view-form の各コンポーネントは、onsubmitonsuccessonerror の各属性を介してイベントを処理する機能を備えています。フォームデータをコンテナコンポーネントに渡すには、カスタムイベントを作成します。

c-wrapper というコンテナコンポーネントがあり、フォームは c-account-creator というコンポーネントにあるとします。このコンテナコンポーネントに新しいレコードの ID を渡します。c-wrapperc-account-creator のインスタンスを作成します。

レコードが正常に作成されると、newrecord イベントが lightning-record-form 上の onsuccess ハンドラによってディスパッチされ、さらにこのハンドラは handleNewRecord メソッドをコールしてレコード ID を渡します。

c-account-creator では、新たに作成されたレコードの ID を含むメッセージが createStatus プロパティによって表示されます。

submit イベントでは ID は使用できません。success イベントを使用して ID を返します。

handleAccountCreated メソッドは success イベントを処理します。