Cómo mostrar el nombre de usuario actual en el componente Lightning sin Apex
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
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
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;
}
}
}