この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

レコードの読み込み

レコードの読み込みは、Lightning データサービスの操作の中でも最も簡単です。すべてマークアップで達成できます。
Lightning データサービスを使用してレコードを読み込むには、コンポーネントに force:recordData タグを追加します。force:recordData タグで、読み込むレコードの ID、項目のリスト、読み込まれたレコードを割り当てる属性を指定します。force:recordData で次の事項を指定する必要があります。
  • 読み込むレコードの ID
  • 読み込んだレコードを割り当てるコンポーネント属性
  • 読み込む項目のリスト

fields 属性で、読み込む項目のリストを明示的に指定できます。たとえば、fields="Name,BillingCity,BillingState" です。

または、layoutType 属性を使用してレイアウトを指定することもできます。そのレイアウトのすべての項目がレコードに読み込まれます。レイアウトは通常システム管理者が変更するため、特定の項目を要求する場合 layoutTypefields ほど柔軟ではありません。layoutType を使用してレコードデータを読み込むと、コンポーネントをレイアウト定義に適合させることができます。layoutType の有効な値は、FULL および COMPACT です。

システム管理者がレイアウトに追加した項目にアクセスするには、layoutType を指定します。システム管理者がレイアウトにその項目を追加したかどうかにかかわらず、オブジェクトの項目を取得するには、fields 属性を使用して名前で項目を要求します。特定の項目をコンポーネントで常に使用できるようにするには、レイアウトのすべての項目を取得し、さらにその項目を指定します。

targetRecord には、要求された layoutType に関連する項目、または fields 属性に一覧表示される項目を含む現在のレコードが入力されます。targetFields には、読み込まれたレコードの簡易ビューが入力されます。たとえば Name 項目の場合、v.targetRecord.fields.Name.valuev.targetFields.Name に相当します。

レコードの読み込み

次の例は、Lightning データサービスを使用したレコードの読み込みの要点を示しています。このコンポーネントは、Lightning アプリケーションビルダーのレコードホームページに追加するか、カスタムアクションとして追加することができます。レコード ID は、force:hasRecordId インターフェースによって追加される暗黙的な recordId 属性によって指定されます。

ldsLoad.cmp
1<aura:component implements="flexipage:availableForRecordHome,force:lightningQuickActionWithoutHeader, force:hasRecordId">
2
3    <aura:attribute name="record" type="Object"/>
4    <aura:attribute name="simpleRecord" type="Object"/>
5    <aura:attribute name="recordError" type="String"/>
6
7    <force:recordData aura:id="recordLoader"
8      recordId="{!v.recordId}"
9      targetFields="{!v.simpleRecord}"
10      targetError="{!v.recordError}"
11      recordUpdated="{!c.handleRecordUpdated}"
12      />
13
14    <!-- Display a lightning card with details about the record -->
15    <div class="Record Details"> 
16    <lightning:card iconName="standard:account" title="{!v.simpleRecord.Name}" >
17        <div class="slds-p-horizontal--small">
18            <p class="slds-text-heading--small">
19                <lightning:formattedText title="Billing City" value="{!v.simpleRecord.BillingCity}" /></p>
20            <p class="slds-text-heading--small">
21                <lightning:formattedText title="Billing State" value="{!v.simpleRecord.BillingState}" /></p>
22        </div>
23    </lightning:card>
24    </div>
25
26    <!-- Display Lightning Data Service errors, if any -->
27    <aura:if isTrue="{!not(empty(v.recordError))}">
28        <div class="recordError">
29            {!v.recordError}</div>
30    </aura:if>
31</aura:component>
ldsLoadController.js
1({
2    handleRecordUpdated: function(component, event, helper) {
3        var eventParams = event.getParams();
4        if(eventParams.changeType === "LOADED") {
5           // record is loaded (render other component which needs record data value)
6            console.log("Record is loaded successfully.");
7        } else if(eventParams.changeType === "CHANGED") {
8            // record is changed
9        } else if(eventParams.changeType === "REMOVED") {
10            // record is deleted
11        } else if(eventParams.changeType === "ERROR") {
12            // there’s an error while loading, saving, or deleting the record
13        }
14    }
15})