如何在账户记录页面抓取账户ID或记录id(例如“0015g00000Bkgg6AAB”)

How to grap account's ID or record id(e.g. "0015g00000Bkgg6AAB") on the account record page

我在帐户记录页面中有一个自定义 LWC 小部件,当页面加载我的小部件时,我需要知道帐户的 ID 或记录 ID(例如“0015g00000Bkgg6AAB”), 我的测试代码如下:

import { LightningElement, wire } from 'lwc';
import { getRecord, getFieldValue } from 'lightning/uiRecordApi';

const fields = [NAME_FIELD, REVENUE_FIELD, BillingAddress_FIELD];
export default class AccountCreator extends LightningElement {
  @wire(getRecord, { recordId: '$recordId', fields })
  account;
  get name() {
    return getFieldValue(this.account.data,NAME_FIELD);
  }
  get revenue() {
    return getFieldValue(this.account.data, REVENUE_FIELD);
  }
  get address() {
    return getFieldValue(this.account.data, BillingAddress_FIELD);
  }
}

将这两行添加到您的 class

import { LightningElement, wire, api } from 'lwc';   // 1 - add "api"
export default class AccountCreator extends LightningElement {
    @api recordId; // 2 - add variable to magically store the current record's id
}

有 2 个特殊变量用于学习当前记录的 ID 和当前 sObject 类型(如果你想构建在不同页面上放置时表现不同的组件)。此处提供更多信息:https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.use_record_context

您的代码看起来像是从示例中复制的,您的 @wire 已经监听了 recordId 的更改 - 您只是没有定义此变量。