レコードの削除
Lightning データサービスを使用してレコードを削除するには、force:recordData コンポーネントの deleteRecord をコールして、削除操作の完了後に呼び出されるコールバック関数を渡します。フォームベースのコンポーネント (例: lightning:recordForm) は、現時点ではレコードの削除をサポートしていません。
Lightning データサービスの削除操作は単純明快です。force:recordData タグに最小限の詳細を含めることができます。レコードデータが不要になる場合は、fields 属性を単に Id に設定します。削除が唯一の操作であることがわかっている場合は、任意の mode を使用できます。
削除操作を実行するには、適切なコントローラアクションハンドラから、force:recordData コンポーネントの deleteRecord をコールします。deleteRecord は、操作の完了時に呼び出されるコールバック関数という 1 つの引数を取ります。このコールバック関数は、その唯一のパラメータとして SaveRecordResult オブジェクトを受け取ります。SaveRecordResult には、操作の成否や、結果の処理に使用できるその他の詳細を示す state 属性が含まれます。
レコードの削除
次の例は、Lightning データサービスを使用したレコードの削除の要点を示しています。このコンポーネントは、[レコードを削除] ボタンをレコードページに追加して、表示されているレコードを削除できるようにします。レコード ID は、force:hasRecordId インターフェースによって追加される暗黙的な recordId 属性によって指定されます。
ldsDelete.cmp
force:recordData タグには、recordId と、最小限絶対必要なものだけを記載したほぼ空の fields リストのみが含まれます。たとえば、確認メッセージの一部として、ユーザインターフェースにレコード値を表示したい場合は、この最小限の削除例ではなく、読み込み操作の場合と同様に、force:recordData タグを定義します。
ldsDeleteController.js
レコードが削除された時点で、別のページに移動します。移動しないと、コンポーネントが更新されたときに「レコードが見つかりません」というエラーが表示されます。ここでは、コールバック関数に提供された SaveRecordResult の objectApiName プロパティをコントローラが使用して、オブジェクトのホームページに移動します。