You need to sign in to do that
Don't have an account?
prashant yadav 112
Error in aura component
HI, kindly help me to understand the error.
Sorry to interrupt This page has an error. You might just need to refresh it. Action failed: c:ParentComponent$controller$handleComEvent [searchparam is not defined] Failing descriptor: {c:ParentComponent$controller$handleComEvent}
Sorry to interrupt This page has an error. You might just need to refresh it. Action failed: c:ParentComponent$controller$handleComEvent [searchparam is not defined] Failing descriptor: {c:ParentComponent$controller$handleComEvent}
Hi Prashant,
Can you share your code for better understanding the issue
Thanks
there are 3 component...
#######components.....
(1)........AirflyComponent
<aura:component>
<div class="slds-p-around_x-small">
<lightning:card>
<div class="slds-p-around_medium">
<lightning:select name="select1" label="Adults" required="true" >
<option value="">choose one...</option>
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</lightning:select>
<lightning:select name="select2" label="Class" required="true" >
<option value="">choose one...</option>
<option value="1">Economy</option>
<option value="2">Premium Economy </option>
<option value="3">Business</option>
</lightning:select>
<lightning:input type="date" name="input1" label="Enter a date" />
</div>
</lightning:card>
</div>
</aura:component>
(2)........parent Component
<aura:component
implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction"
access="global"
Controller="AirFlyController">
<aura:handler name="ChildEvent" event="c:AirportEvent" action="{!c.handleComEvent}"/>
<c:ChildComponent/>
</aura:component>
(3).........child Component
<aura:component >
<aura:registerEvent name="ChildEvent" type="c:AirportEvent"/>
<div class="slds-align_absolute-center" style="height:2rem">
<h1>Place</h1>
</div>
<lightning:card>
<div class="slds-m-around_x-small">
<p>FROM</p>
<lightning:input
name="enter-search"
label="From"
type="search"
variant="label-hidden"
onchange="{!c.dosearch}"
aura:id="SearchInput"
/>
</div>
</lightning:card>
</aura:component>
#######Controller.............
Parent Controller.......
({
handleComEvent : function(component, event, helper) {
var searchParam=event.getParam('searchText');
var action=component.get('c.searchAirport');
action.setParams({
searchparam:searchparam
});
action.setCallback(this, function(response){
var state=response.getState();
if(state==='SUCCESS'){
var responseValue=response.getReturnValue();
console.log('responseValue',responseValue);
}else{
console.log(response.getError());
}
});
$A.enqueueAction(action);
}
})
child Controller.......
({
dosearch : function(component, event, helper) {
var componentEvent=component.getEvent('ChildEvent');
var searchparam=component.find('SearchInput').get('v.value');
componentEvent.setParams({
searchText : searchparam
});
componentEvent.fire();
}
})
#######Event.............
<aura:event type="COMPONENT" description="Event template" >
<aura:attribute name="searchText" type="String"/>
</aura:event>
#######Apex.............
public class AirFlyController {
@AuraEnabled
public static List<sObject> searchAirport(String searchparam)
{
String Likeparam = '%' +searchparam+ '%';
String Query ='select Id,Name,City_Served__c from Airport__c Where Name Like :Likeparam';
List<sObject> sObjectList = Database.query(Query);
return sObjectList;
}
}