缺少@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 适配器使用小写驼峰命名,例如 salesforce
和 schema
(SObject 和字段名称除外)。您对架构对象的引用中单词 Schema
的大小写不正确。它们应该是:
import NAME_FIELD from '@salesforce/schema/User.Name';
import MAIL_FIELD from '@salesforce/schema/User.Email';
我做了那个更正,然后推送到我的草稿组织,它正确地编译和保存了。
我正在尝试使用 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 适配器使用小写驼峰命名,例如 salesforce
和 schema
(SObject 和字段名称除外)。您对架构对象的引用中单词 Schema
的大小写不正确。它们应该是:
import NAME_FIELD from '@salesforce/schema/User.Name';
import MAIL_FIELD from '@salesforce/schema/User.Email';
我做了那个更正,然后推送到我的草稿组织,它正确地编译和保存了。