В Salesforce Lightning иногда нам нужно создавать, редактировать и сохранять записи в компоненте. Это время, когда на ум приходят 3 типа компонентов: recordEditform, RecordViewfrom и recordData. Мы всегда путаемся, какой из них использовать.
Функциональность этих компонентов в основном одинакова для создания формы макета для создания или обновления записи. Кроме того, какой компонент использовать в конкретной ситуации, зависит от сценария и предпочтений разработчика. Но всегда есть некоторая путаница при выборе компонента. Чтобы избежать этой путаницы, мы должны знать различия в этих типах форм.
сила: записьДанные
Используйте компонент lightning:recordForm для быстрого создания форм для добавления, просмотра или обновления записи.
Использование этого компонента для создания форм записи проще, чем создание форм вручную с помощью молния:recordEditForm или молния:recordViewForm. Компонент lightning:recordForm предоставляет следующие полезные функции:
- Автоматически переключается между режимами просмотра и редактирования, когда пользователь начинает редактировать поле в форме просмотра.
- Предоставляет кнопки «Отмена» и «Сохранить» по умолчанию в формах редактирования.
- Использует макет записи объекта по умолчанию с поддержкой нескольких столбцов.
- Загружает все поля компактного или полного макета объекта или только указанные вами поля.
- Он используется для создания, редактирования и обновления записи без написания кода вершины.
- Чтобы сохранить и удалить запись, нам нужно определить методы в контроллере компонента и вызвать функции «saveRecord» и «deleteRecord» на компоненте. Это стандартные методы, привязанные к компоненту.
- Он использует объект атрибута, в котором он устанавливает запись, которая загружается и сохраняется.
- Нам нужно явно указать кнопку сохранения и выполнить функцию сохранения стандартным методом saveRecord компонента.
- Нам нужно явно использовать lightning:input для отображения данных, соответствующих полям, указанным в компоненте, и привязать их к атрибуту, в котором хранится запись.
- Мы используем этот компонент, когда нам нужно получить доступ к записи для редактирования, удаления и обновления с помощью простого макета.
- lightning:recordForm менее настраиваемый. Чтобы настроить макет формы или настроить отображение данных записи, используйте lightning:recordEditForm (добавление или обновление записи) и lightning:recordViewForm (просмотр записи).
- Этот компонент не поддерживает все стандартные объекты Salesforce. Например, объекты Event и Task не поддерживаются.
Пример: Чтобы обновить запись с помощью формы записи<aura:component implements="flexipage:availableForRecordHome,force:hasRecordId">
<aura:attribute name="fields" type="String[]" default="['Name','AnnualRevenue','Industry']" />
<lightning:recordForm
aura:id="myRecordForm"
recordId="{!v.recordId}"
objectApiName="Account"
fields="{!v.fields}"
columns="2"
mode="edit"
onsubmit="{!c.handleSubmit}" />
</aura:component>
молния: записьEditform
Используйте компонент Lightning:recordEditForm для создания формы, которая используется для добавления записи Salesforce или обновления полей в существующей записи. Компонент отображает поля с их метками и текущими значениями и позволяет редактировать их значения.
Lightning:recordEditForm поддерживает следующие функции.
- Редактирование указанных полей записи с учетом идентификатора записи.
- Создание записи с использованием указанных полей.
- Настройка макета формы.
- Пользовательский рендеринг данных записи.
- Он используется для создания, редактирования и обновления записи без написания кода вершины.
- Чтобы выполнить операцию сохранения, нам нужно определить кнопку отправки в компоненте и отправить поля компонента.
- Ему не нужны никакие атрибуты для загрузки и сохранения записи.
- Этот компонент использует поле ввода молнии для отображения полей.
- Мы используем этот компонент, когда нам нужно отобразить правильный пользовательский интерфейс, похожий на стандартный пользовательский интерфейс.
Пример: обновить существующую запись с помощью формы recordEditform. Чтобы создать новую запись, нам не нужно использовать атрибут recordId в компоненте.
молния: записьViewform
Используйте компонент lightning:recordViewForm для создания формы, отображающей данные записи Salesforce для указанных полей, связанных с этой записью. Поля отображаются с их метками и текущими значениями как доступные только для чтения. Вы можете настроить макет формы или настроить отображение данных записи.
- Он используется для создания, редактирования и обновления записи.
- Чтобы выполнить сохранение, удаление и обновление, нам не нужно писать какой-либо метод в контроллере. Форма будет автоматически отправлена после нажатия кнопки «Сохранить».
- Ему не нужен какой-либо атрибут для хранения сохраняемой или загружаемой записи.
- Этот компонент не требует какого-либо явного компонента для отображения поля в редактируемом режиме. Он автоматически генерирует поля ввода, если режим редактируется.
- Для этого компонента не требуется никаких кнопок, поскольку он автоматически генерирует кнопку для сохранения записи.
- Пользовательский интерфейс в этом компоненте зависит от используемого макета.
- Этот компонент также позаботится о безопасности и совместном использовании на уровне полей, поэтому пользователи видят только те данные, к которым у них есть доступ.
- Этот компонент поддерживает не все стандартные объекты Salesforce. Например, объекты Event и Task не поддерживаются.
Webner Solutions — компания по разработке программного обеспечения, специализирующаяся на разработке систем управления страховыми агентствами, систем управления обучением и приложений Salesforce. Свяжитесь с нами по адресу [email protected] для подачи заявок на страхование, электронное обучение и Salesforce.
Первоначально опубликовано на https://blog.webnersolutions.com 23 июля 2021 г.