Newer Version Available
force:hasRecordId
This interface is a marker interface. A marker interface is a signal to the component’s container to add the interface’s behavior to the component. You don’t need to implement any specific methods or attributes in your component, you simply add the interface name to the component’s implements attribute.
- It adds an attribute named recordId to your component.
This attribute is of type String, and its value is an 18-character Salesforce record ID, for
example: 001xx000003DGSWAA4. If you added it yourself, the attribute definition would look
like the following
markup:
1<aura:attribute name="recordId" type="String" /> - When your component is invoked in a record context in Lightning Experience or Salesforce1, the recordId is set to the ID of the record being viewed.
The recordId attribute is set only when you place or invoke the component in a context of a record. For example, when you place the component on a record page, or invoke it as an action from a record page or object home. In all other cases, such as when you create this component programmatically inside another component, recordId isn’t set, and your component shouldn’t depend on it.
Example
This example shows the markup required to add the force:hasRecordId interface to a Lightning component.
1<aura:component implements="force:lightningQuickAction,force:hasRecordId">
2
3 <!-- ... -->
4
5</aura:component>The component’s controller can access the ID of the current record from the recordId attribute, using component.get("v.recordId"). The recordId attribute is automatically added to the component by the force:hasRecordId interface.