I'm probably missing something crazy simple, hopefully someone here can clear this up for me. I have a simple component as follows:
<aura:component implements="flexipage:availableForAllPageTypes,flexipage:availableForRecordHome" access="global">
<aura:attribute name="PricebookEntryRecord" type="String"/>
<aura:attribute name="PricebookEntry" type="Object"/>
<force:recordData aura:id="PricebookRecordLoader"
fields="Name,IsActive,Extended_Item_Description__c"
recordId="{!v.PricebookEntryRecord}"
targetFields="{!v.PricebookEntry}"
targetError="{!v.recordError}"
recordUpdated="{!c.handleRecordUpdated}"
/>
{!v.PricebookEntry.Extended_Item_Description__c}
</aura:component>
The component is passed a record ID from a separate component which is loaded into {!v.PricebookEntryRecord}. When I view the component using some sample data on a lightning page, nothing happens. I don't even see any feedback from handleRecordUpdated in my dev console.
However, if I hardcode the record ID of the sample I'm using into the force:recordData recordId field and refresh the same lightning page from before, everything works just fine and I see the expected logging in my console. I've already confirmed that there is a recordId loaded into {!v.PricebookEntryRecord} as it displays when called, so I'm totally lost as to what the issue is.