import getCampaignList from '@salesforce/apex/LeadController.getCampaignNames';
@wire(getCampaignList, {}) campaignLst;
get campaignOptions() {
var returnOptions = [];
if(this.campaignLst.data){
this.campaignLst.data.forEach(ele =>{
returnOptions.push({label:ele.Name , value:ele.Name});
// alert(ele.id);
// this.map.set(ele.Name, ele.id );//removed in update
ele?.map(({ Name,Id }) => ({ value: Name, label: Id })
); //updated
});
}
console.log(JSON.stringify(returnOptions));
console.log(this.map);
return returnOptions;
}
handleChange(event) {
if(event.target.name == 'Campaign'){
this.leadRecord[event.target.name]=map.get(event.target.value); // I need Map[name=> Id] I am very sure there are no duplicate campaign names.
}else{
this.leadRecord[event.target.name] = event.target.value;
}
update:
ele?.map(
({ Name,Id }) => ({ value: Name, label: Id })
);
@AuraEnabled(cacheable=true)
public static List<Campaign> getCampaignNames(){
List<Campaign> options = new List<Campaign>();
try {
options = [SELECT id, Name FROM Campaign];
}
I am trying to get add name, ID to a map object. but Id prints as undefined in console why? but I do get the Name. Any inputs please?