В 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 г.