Изучение методов поиска и отправки формы редактирования записи Lightning в LWC

Веб-компоненты Lightning (LWC) — это современная платформа, предоставляемая Salesforce для создания приложений на платформе Lightning. В этой статье мы рассмотрим различные способы поиска и отправки формы редактирования записи Lightning в LWC. Мы предоставим примеры кода для каждого метода, чтобы проиллюстрировать его реализацию.

Метод 1: использование компонента формы записи Lightning
Компонент формы записи Lightning — это мощный инструмент, упрощающий работу с данными записи в LWC. Он автоматически обрабатывает поиск записей, обновления и обработку ошибок. Вот пример того, как его использовать:

<template>
   <lightning-record-form
      record-id={recordId}
      object-api-name={objectApiName}
      fields={fields}
      onsubmit={handleSubmit}
      onsuccess={handleSuccess}
      onerror={handleError}
   >
   </lightning-record-form>
</template>

Метод 2. Использование проводного адаптера LDS (Lightning Data Service).
Проводной адаптер Lightning Data Service (LDS) позволяет компонентам LWC взаимодействовать с данными Salesforce без написания кода Apex. Вот пример того, как его использовать:

import { LightningElement, api, wire } from 'lwc';
import { getRecord, updateRecord } from 'lightning/uiRecordApi';
export default class MyComponent extends LightningElement {
   @api recordId;
   @api objectApiName;
   @wire(getRecord, { recordId: '$recordId', fields: ['Field1__c', 'Field2__c'] })
   record;
   handleSubmit(event) {
      // Perform custom logic before submitting the form
   }
   handleSuccess(event) {
      // Handle successful form submission
   }
   handleError(event) {
      // Handle error during form submission
   }
   updateRecordField1(newValue) {
      const fields = {};
      fields.Id = this.recordId;
      fields.Field1__c = newValue;
      const recordInput = { fields };
      updateRecord(recordInput)
         .then(() => {
            // Handle success
         })
         .catch((error) => {
            // Handle error
         });
   }
}

Метод 3: использование контроллера Apex
Если вы предпочитаете обработку на стороне сервера, вы можете использовать контроллер Apex для обработки отправки формы. Вот пример того, как это реализовать:

import { LightningElement, api } from 'lwc';
import myApexMethod from '@salesforce/apex/MyController.myApexMethod';
export default class MyComponent extends LightningElement {
   @api recordId;
   @api objectApiName;
   handleSubmit(event) {
      event.preventDefault();
      const fields = event.detail.fields;
      myApexMethod({ recordId: this.recordId, fields })
         .then(() => {
            // Handle success
         })
         .catch((error) => {
            // Handle error
         });
   }
}

В этой статье мы рассмотрели три различных метода поиска и отправки формы редактирования записи Lightning в LWC. Мы рассмотрели использование компонента формы записи Lightning, проводного адаптера LDS и контроллера Apex. В зависимости от вашего варианта использования и предпочтений вы можете выбрать метод, который лучше всего соответствует вашим требованиям. Предоставленные примеры кода помогут вам приступить к реализации этих методов в ваших проектах LWC.