Cómo mostrar el nombre de usuario actual en el componente Lightning sin Apex

Aug 20 2020

Hola a todos, cómo mostrar el nombre de usuario que inició sesión actualmente en el componente Lightning sin escribir el ápice. como lo intenté {! $ SObjectType.CurrentUser.Id} esto, solo mostrará Id, no nombre. Puede alguien ayudarme

Respuestas

BernhardMiehl Aug 20 2020 at 16:27

primero bienvenido al stackexchange de salesforce!

Aquí encontré una respuesta que te ayudará:

Salesforce Lightning obtiene el nombre de usuario de los usuarios actuales

Podemos hacer uso del servicio Lightning Data para acceder a cualquiera de los campos de usuario en el componente Lightning sin necesidad de usar el controlador apex.

Ejemplo:

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

Acceda al valor usando la sintaxis: {! V.currentUser.FirstName}

Probablemente pueda usar 'Nombre' en la propiedad de campos de recordData

¡Espero que funcione!

Saludos, Bernhard

2 salesforceDeveloper Aug 20 2020 at 20:03

Si está utilizando LWC, puede obtener el nombre de usuario actual a continuación:

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