15

I'm working on one LWC and facing issue while passing parameters to an apex method which I am calling imperatively on selection of a record in datatable. I'm able to get selected recordid in JS function and call js function but I always get error when parameter is passed. Imperative calling seems to be working fine when no param is passed. Code posted below:

Import: import executeAction from '@salesforce/apex/DSE_SetAccountAdmin_CtrlX.executeAction';

buttonClickHandler:

buttonClicked(event) {
    executeAction(labelToActionMap.get(event.target.label), this.selectedContact.Id)
        .then(result => {
            console.log('TCL: dseContactManagementForSelectedAccountLwc -> buttonClicked -> result', result)

        })
        .catch(error => {
            console.log('TCL: dseContactManagementForSelectedAccountLwc -> buttonClicked -> error', error)

        });
}

Apex method declaration: @AuraEnabled public static Boolean executeAction(String actionName, String selectedContactId){

I keep getting below error in console.

Error in console printed in buttonClicke function

I believe I'm missing some syntax here. Do I need to pass params as a map object as shown in error?

1 Answer 1

20

Yes, it's supposed to be an object:

executeAction({ actionName: labelToActionMap.get(event.target.label), 
                selectedContactId: this.selectedContact.Id })

The object key values should match the Apex parameter names.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .