Sample Code:
Component:
<aura:component implements=”flexipage:availableForRecordHome,force:hasRecordId,lightning:actionOverride,lightning:isUrlAddressable” access=”global” >
<aura:attribute name=”recordId” type=”String”/>
<lightning:notificationsLibrary aura:id=”notifLib”/>
<div class=”slds-box slds-theme–default”>
<lightning:recordEditForm objectApiName=”Lead” onload=”{!c.handleCreateLoad}”>
<lightning:messages />
<lightning:inputField fieldName=”FirstName” aura:id=”FirstName”/>
<lightning:inputField fieldName=”LastName” aura:id=”LastName”/>
<lightning:inputField fieldName=”Email” aura:id=”Email”/>
<lightning:inputField fieldName=”Company” aura:id=”Company”/>
<lightning:inputField fieldName=”LeadSource” aura:id=”LeadSource”/>
<lightning:button class=”slds-m-top_small” variant=”brand” type=”submit” name=”Create” label=”Create” />
</lightning:recordEditForm>
</div>
</aura:component>
JavaScript:
({
handleCreateLoad : function(cmp, event, helper) {
var myPageRef = cmp.get(“v.pageReference”);
console.log( ‘Pagereference is ‘ + JSON.stringify( myPageRef ) );
console.log( ‘Default Values are ‘ + JSON.stringify( myPageRef.state.defaultFieldValues ) );
if ( myPageRef.state.defaultFieldValues ) {
myPageRef.state.defaultFieldValues.split( “,” ).forEach( function( record ) {
var recordSplit = record.split( “=” );
cmp.find( recordSplit[ 0 ] ).set( “v.value”, recordSplit[ 1 ] );
});
}
}
})
Button Override:
Output:
Use this path to test it – /lightning/o/Lead/new?defaultFieldValues=FirstName=Test1,LastName=Test2,[email protected],Company=Testing