Apexを使用せずにLightningコンポーネントで現在のユーザー名を表示する方法
Aug 20 2020
こんにちは頂点を書かずにlightningコンポーネントに現在ログインしているユーザー名を表示するすべての方法。{!$ SObjectType.CurrentUser.Id}を試してみると、名前ではなくIDのみが表示されます。誰かが私を助けることができますか
回答
BernhardMiehl Aug 20 2020 at 16:27
セールスフォーススタックエクスチェンジへようこそ!
ここで私はあなたを助ける答えを見つけました:
Salesforcelightningは現在のユーザーのユーザー名を取得します
Lightning Dataサービスを利用すると、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」を使用できます。
それがうまくいくことを願っています!
よろしく、ベルンハルト
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;
}
}
}