缺少@salesforce/Schema/User.Name 的资源值”错误

Missing resource value for @salesforce/Schema/User.Name" Error

我正在尝试使用 Lightning Web 组件显示我在 salesforce 中注册的姓名和电子邮件。

我导入了 User.Name 和 User.Email 但我仍然遇到错误。 你能告诉我为什么会这样吗?

提前致谢。

Blockquote [Line: 4, Col: 23] LWC1512: Missing resource value for @salesforce/Schema/User.Name [Line: 5, Col: 23] LWC1512: Missing resource value for @salesforce/Schema/User.EMAIL

JS

import { LightningElement, wire, track, api } from 'lwc';
import { getRecord, getFieldValue } from 'lightning/uiRecordApi';
import USERID_FIELD from '@salesforce/user/Id';
import NAME_FIELD from '@salesforce/Schema/User.Name';
import MAIL_FIELD from '@salesforce/Schema/User.Email';

const FIELDS = [
    USERID_FIELD, NAME_FIELD, MAIL_FIELD
];

export default class JsSample extends LightningElement {
    @api recordId;

    @wire(getRecord, {'recordId': USERID_FIELD, fields: FIELDS})
    record;

    getName() {
        return getFieldValue(this.record.data, NAME_FIELD);
    }

    getEMail() {
        return getFieldValue(this.record.data, MAIL_FIELD);
    }

    @track inputText = '';

    handleChange(event){
        this.inputText = event.target.value;
    }

    /**
     * 初期化処理
     */
    connectedCallback(){

    }
}

HTML

<template>
    <div class="container">
        UserInfo<br>
        <div class="showProperties">
            Name:{name}<br>
            Mail:{eMail}
        </div>
    </div>

    <div class="おまけ">
        <label for="wireText">Input Text</label><input type="text" id="wireText" onchange={handleChange}/>
        <lightning-formatted-text value={inputText}></lightning-formatted-text>
    </div>
</template>

更新: 我无法使用此代码显示我的名字...

import { LightningElement, api, wire } from 'lwc';
import { getRecord, getFieldValue } from 'lightning/uiRecordApi';
import Id from '@salesforce/user/Id';
import NAME_FIELD from '@salesforce/schema/User.Name';
import MAIL_FIELD from '@salesforce/schema/User.EMail';

const FIELDS = "[NAME_FIELD, MAIL_FIELD]";

export default class JsSample extends LightningElement {
    @api recordId;
    userId = Id;
    @wire(getRecord, {recordId: '$userId', fields: FIELDS})
    user;
    get name() {
        return getFieldValue(this.user.data, NAME_FIELD);
    }
    get eMail() {
        return getFieldValue(this.user.data, MAIL_FIELD);
    }

    // @track inputText = '';

    // handleChange(event){
    //     this.inputText = event.target.value;
    // }

    // /**
    //  * init
    //  */
    // connectedCallback(){

    // }
}

Wire 适配器使用小写驼峰命名,例如 salesforceschema(SObject 和字段名称除外)。您对架构对象的引用中单词 Schema 的大小写不正确。它们应该是:

import NAME_FIELD from '@salesforce/schema/User.Name';
import MAIL_FIELD from '@salesforce/schema/User.Email';

我做了那个更正,然后推送到我的草稿组织,它正确地编译和保存了。