В этом сообщении блога мы рассмотрим, как автоматически обновлять веб-компоненты Lightning (LWC) при обновлении страницы записи Lightning. Это может быть полезно, если вы хотите, чтобы ваш компонент LWC отображал последние данные всякий раз, когда пользователь обновляет страницу или когда данные записи изменяются.

Предпосылки:

  • Базовое понимание веб-компонентов Lightning (LWC)
  • Базовое понимание страниц записей Salesforce Lightning

Шаг 1. Создайте метод получения для реактивной переменной recordId

В компоненте LWC создайте метод получения, который возвращает значение свойства recordId. Этот метод будет использоваться как реактивная переменная для извлечения записи при каждом изменении recordId.

get reactiveRecordId() {
    return this.recordId;
}

Шаг 2. Используйте декоратор @wire для извлечения записи при изменении реактивного идентификатора записи

Используйте декоратор @wire для вызова функции getRecord из службы данных Lightning. Получите запись с указанными recordId и полями, изменения которых вы хотите отслеживать. В этом примере мы отслеживаем поля Field_1__c и Field_2__c объекта Example_Object__c.

@wire(getRecord, { recordId: '$reactiveRecordId', fields: ['Example_Object__c.FieldrecordId_c', 'Example_Object__c.FieldrecordId_c'] })
wiredRecord(result) { ... }

Шаг 3. Обработайте результат и обновите данные

Внутри метода wiredRecord обработайте результат, возвращенный декоратором @wire. Назначьте результат свойству и вызовите метод refreshData(), если в результате есть данные. Это гарантирует, что данные обновляются при каждом изменении записи.

wiredRecord(result) {
    this.record = result;
    if (result.data) {
        this.refreshData();
    }
}

Шаг 4. Реализуйте метод refreshData()

Создайте метод refreshData() в компоненте LWC, который получает последние данные с сервера. Этот метод будет вызываться при каждом изменении записи, гарантируя, что компонент всегда отображает последние данные.

refreshData() {
    // Fetch the latest data from the server and update the component
}

Вывод:

Следуя этим шагам, вы можете гарантировать, что ваш компонент LWC будет автоматически обновляться всякий раз, когда обновляется страница записи Lightning или изменяются данные записи. Это поможет поддерживать актуальность компонентов и улучшить взаимодействие с пользователем в приложениях Salesforce.