Отсутствует значение ресурса для @ salesforce / Schema / User.Name "Ошибка - PullRequest
1 голос
/ 15 марта 2020

Я пытаюсь отобразить свое имя и адрес электронной почты, зарегистрированные в Salesforce с помощью Lightning Web Component.

Я импортировал User.Name и User.Email, но все равно получаю ошибку. Не могли бы вы сказать мне, почему это происходит?

Заранее спасибо.

Цитата [Строка: 4, Кол: 23] LWC1512: Отсутствует значение ресурса для @ salesforce / Schema / User. Имя [Строка: 5, Столб: 23]. LWC1512: Отсутствует значение ресурса для @ 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(){

    // }
}

1 Ответ

0 голосов
/ 16 марта 2020

Проводные адаптеры используют строчные имена верблюдов, например, salesforce и schema (кроме имен объектов и объектов SObject). Ваши ссылки на объекты схемы имеют неправильный регистр со словом Schema. Они должны быть:

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

Я сделал это исправление, а затем подтолкнул к своей нуля орг, и она скомпилирована и сохранена правильно.

...