Can some one explain me how to use two separate components with Lightning Data Service, i tried the following code for accDisplay and accEdit for this challenge . My code worked as i expected but i got the following error! I am missing some thing, can some one explain me how LDS works with multiple componets!
Challenge Not yet complete… here's what's wrong:
The 'accDisplay' Lightning Component does not appear to be displaying the 'Name' using 'ui:outputText' and the value 'v.accountRecord.Name
<!--accDisplay component-->
<aura:component
implements="flexipage:availableForRecordHome,force:hasRecordId">
<aura:attribute name="accountRecord" type="Object" />
<force:recordData aura:id="AccountRecordCreator"
recordId="{!v.recordId}"
layoutType="FULL"
targetRecord="{!v.accountRecord}"
targetFields="{!v.simpleNewAccount}"
targetError="{!v.newContactError}"
mode="VIEW"
/>
<!-- Display a header with details about the record -->
<div class="slds-form--stacked">
<div class="slds-form-element">
<label class="slds-form-element__label" for="recordName">Name: </label>
<div class="slds-form-element__control">
<ui:outputText class="slds-input" aura:id="recordName"
value="{!v.simpleNewAccount.Name}" />
</div>
<label class="slds-form-element__label"
for="recordIndustry">Industry: </label>
<div class="slds-form-element__control">
<ui:outputText class="slds-input" aura:id="recordIndustry"
value="{!v.simpleNewAccount.Industry}" />
</div>
<label class="slds-form-element__label"
for="recordDescription">Description: </label>
<div class="slds-form-element__control">
<ui:outputTextArea class="slds-input" aura:id="recordDescription"
value="{!v.simpleNewAccount.Description}" />
</div>
<label class="slds-form-element__label" for="recordPhone">Phone: </label>
<div class="slds-form-element__control">
<ui:outputPhone class="slds-input" aura:id="recordPhone"
value="{!v.simpleNewAccount.Phone}" />
</div>
</div>
</div>
</aura:component>
<!--accEdit-->
<aura:component
implements="flexipage:availableForRecordHome,force:hasRecordId">
<aura:attribute name="accountRecord" type="Object"/>
<aura:attribute name="simpleNewAccount" type="Object"/>
<aura:attribute name="newContactError" type="String"/>
<force:recordData aura:id="AccountRecordCreator"
recordId="{!v.recordId}"
layoutType="FULL"
targetRecord="{!v.accountRecord}"
targetFields="{!v.simpleNewAccount}"
targetError="{!v.newContactError}"
mode="EDIT"
/>
<ui:outputText class="slds-output"
value="Edit Account" />
<lightning:input aura:id="recordName" name="accountRecord" label="Name"
value="{!v.simpleNewAccount.Name}" />
<lightning:button label="Save Account" onclick="{!c.handleSaveRecord}"
variant="brand" class="slds-m-top--medium"/>
</aura:component>
Best Answer
The challenge mentions "Create a display component named accDisplay.cmp using the record attribute named accountRecord", however you're using the attribute named simpleNewAccount.
Try to use the correct attribute name and it should be ok.