Как отобразить текущее имя пользователя в компоненте Lightning без Apex

Aug 20 2020

Привет всем, как отобразить имя текущего вошедшего в систему пользователя в компоненте молнии без записи апекса. как я пытался {! $ SObjectType.CurrentUser.Id} это, он будет отображать только Id, а не имя. Может кто-нибудь мне помочь

Ответы

BernhardMiehl Aug 20 2020 at 16:27

впервые добро пожаловать в stackexchange!

Здесь я нашел ответ, который вам поможет:

Salesforce lightning получить имя пользователя текущего пользователя

Мы можем использовать службу данных Lightning для доступа к любому из пользовательских полей в компоненте Lightning без необходимости использования контроллера apex.

Пример:

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

Получите доступ к значению, используя синтаксис: {! V.currentUser.FirstName}

Вероятно, вы можете просто использовать «Имя» в свойстве fields в recordData.

Надеюсь, что это работает!

С уважением, Бернхард

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;
        }
    }
 
}