Activity Forums Salesforce® Discussions What is the use of force:hasRecordId interface in Salesforce?

  • Avnish Yadav

    Member
    July 26, 2018 at 11:52 AM

    Hello Madhulika,

    The force:hasRecordId interface does two things to a component that implements it. 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: <aura:attribute name="recordId" type="String" />

    Note: If your component implements force:hasRecordId, you don’t need to add a recordId attribute to the component yourself. If you do add it, don’t change the access level or type of the attribute or the component will cause a runtime error.

    Thanks.

  • [adinserter block='9']
  • shariq

    Member
    September 18, 2018 at 12:26 AM

    Hi,

    Add the force:hasRecordId interface to a Lightning component to enable the component to be assigned the ID of the current record. The current record ID is useful if the component is used on a Lightning record page, as an object-specific custom action or action override in Lightning Experience or the Salesforce app, and so on. This interface has no effect except when used within Lightning Experience, the Salesforce mobile app, and template-based communities.

    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

    Hope this helps.

  • Parul

    Member
    September 23, 2018 at 11:40 PM

    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.

    A marker interface is a signal to the component’s container to add the interface’s behavior to the component.

  • Prachi

    Member
    November 13, 2018 at 1:06 PM

    Hello Madhulika,

    The force:hasRecordId interface does two things to a component that implements it. 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: <aura:attribute name=”recordId” type=”String” />

    Note: If your component implements force:hasRecordId, you don’t need to add a recordId attribute to the component yourself. If you do add it, don’t change the access level or type of the attribute or the component will cause a runtime error.

    Thanks.

Log In to reply.

Popular Salesforce Blogs