Веб-компоненты 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.