Изучение API LWC Get Record Data: методы и примеры кода

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

  1. getRecord:
    Метод getRecord используется для получения данных одной записи. Он принимает идентификатор записи и массив полей в качестве параметров. Вот пример его использования:
import { LightningElement, wire } from 'lwc';
import { getRecord } from 'lightning/uiRecordApi';
export default class MyComponent extends LightningElement {
    recordId = '001XXXXXXXXXXXXXXX'; // Replace with your record ID
    @wire(getRecord, { recordId: '$recordId', fields: ['Account.Name', 'Account.Industry'] })
    account;
    get accountName() {
        return this.account.data.fields.Name.value;
    }
    get accountIndustry() {
        return this.account.data.fields.Industry.value;
    }
}
  1. getFieldValue:
    getFieldValue используется для получения определенного значения поля из записи. Он принимает объект записи и имя поля в качестве параметров. Вот пример:
import { LightningElement, wire } from 'lwc';
import { getRecord, getFieldValue } from 'lightning/uiRecordApi';
export default class MyComponent extends LightningElement {
    recordId = '001XXXXXXXXXXXXXXX'; // Replace with your record ID
    @wire(getRecord, { recordId: '$recordId', fields: ['Account.Name', 'Account.Industry'] })
    account;
    get accountName() {
        return getFieldValue(this.account.data, 'Account.Name');
    }
    get accountIndustry() {
        return getFieldValue(this.account.data, 'Account.Industry');
    }
}
  1. refreshApex:
    refreshApex используется для обновления данных проводного адаптера. Он принимает проводное свойство в качестве параметра. Вот пример:
import { LightningElement, wire } from 'lwc';
import { getRecord, refreshApex } from 'lightning/uiRecordApi';
export default class MyComponent extends LightningElement {
    recordId = '001XXXXXXXXXXXXXXX'; // Replace with your record ID
    wiredAccount;
    @wire(getRecord, { recordId: '$recordId', fields: ['Account.Name', 'Account.Industry'] })
    wiredAccountData(value) {
        this.wiredAccount = value;
    }
    refreshData() {
        refreshApex(this.wiredAccount);
    }
}

API LWC Get Record Data предоставляет удобный способ получения данных записей в веб-компонентах Salesforce Lightning. В этой статье мы рассмотрели три метода: getRecord, getFieldValue и RefreshApex. Используя эти методы, вы можете эффективно извлекать и манипулировать данными записей в компонентах LWC, повышая удобство работы и производительность пользователей.

Не забудьте обратиться к официальной документации Salesforce для получения более подробной информации и дополнительных методов, доступных с помощью API получения данных записи.