วิธีแสดงชื่อผู้ใช้ปัจจุบันในองค์ประกอบฟ้าผ่าโดยไม่มี Apex

Aug 20 2020

สวัสดีทั้งหมดวิธีการแสดงชื่อผู้ใช้ที่ล็อกอินปัจจุบันในองค์ประกอบฟ้าผ่าโดยไม่ต้องเขียนเอเพ็กซ์ ขณะที่ฉันพยายาม {! $ SObjectType.CurrentUser.Id} สิ่งนี้จะแสดงเฉพาะ Id ไม่ใช่ชื่อ ใครสามารถช่วยฉันออก

คำตอบ

BernhardMiehl Aug 20 2020 at 16:27

ขอต้อนรับเข้าสู่ stackexchange ของพนักงานขายก่อน!

ฉันพบคำตอบที่จะช่วยคุณได้ที่นี่:

Salesforce Lightning รับชื่อผู้ใช้ของผู้ใช้ปัจจุบัน

เราสามารถใช้บริการ Lightning Data เพื่อเข้าถึงฟิลด์ผู้ใช้ใด ๆ บนส่วนประกอบ Lightning โดยไม่จำเป็นต้องใช้ตัวควบคุมเอเพ็กซ์

ตัวอย่าง:

<aura:attribute name="currentUser" type="User"/>
   <force:recordData aura:id="recordLoader" recordId="{!$SObjectType.CurrentUser.Id}" 
fields="FirstName, LastName" 
targetFields="{!v.currentUser}"/> 

เข้าถึงค่าโดยใช้ไวยากรณ์: {! v.currentUser.FirstName}

อาจเป็นไปได้ว่าคุณสามารถใช้ 'ชื่อ' ในคุณสมบัติฟิลด์ของ recordData

หวังว่าจะได้ผล!

ขอแสดงความนับถือ Bernhard

2 salesforceDeveloper Aug 20 2020 at 20:03

หากคุณใช้ LWC คุณจะได้รับชื่อผู้ใช้ปัจจุบันโดยใช้ด้านล่าง:

import {LightningElement,wire,track} from 'lwc';
import {getRecord} from 'lightning/uiRecordApi';
 
import USER_ID from '@salesforce/user/Id';
 
import NAME_FIELD from '@salesforce/schema/User.Name';
 
 
export default class Userinfoexample extends LightningElement {
    @track error ;
    @track name;
    @wire(getRecord, {
        recordId: USER_ID,
        fields: [NAME_FIELD]
    }) wireuser({
        error,
        data
    }) {
        if (error) {
           this.error = error ; 
        } else if (data) {
            this.name = data.fields.Name.value;
        }
    }
 
}