Apex없이 번개 구성 요소에 현재 사용자 이름을 표시하는 방법

Aug 20 2020

안녕하세요. apex를 작성하지 않고 번개 구성 요소에 현재 로그인 한 사용자 이름을 표시하는 방법입니다. 내가 {! $ SObjectType.CurrentUser.Id} 시도 했으므로 이름이 아닌 Id 만 표시됩니다. 누구든지 나를 도울 수 있습니까?

답변

BernhardMiehl Aug 20 2020 at 16:27

먼저 Salesforce Stackexchange에 오신 것을 환영합니다!

여기에서 도움이 될 답변을 찾았습니다.

Salesforce Lightning은 현재 사용자 사용자 이름을 가져옵니다.

Lightning 데이터 서비스를 사용하여 apex 컨트롤러를 사용할 필요없이 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의 fields 속성에서 'Name'을 사용할 수 있습니다.

작동하기를 바랍니다!

감사합니다, 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;
        }
    }
 
}