+ Start a Discussion
Thirumagal SiluvaithasanThirumagal Siluvaithasan 

Access the list in wrapper class to LWC

Hi Team,

I have a wrapper class in my apex controller.
 
global class variableDTO {
        @AuraEnabled
        public String bkImgURL { get; set; }
        @AuraEnabled
        public List<String> monthListBefore {get; set;}
}

And I am trying to to access the monthListBefore list in LWC. My code is below.
 
@track background; 
@track MonthList;

@wire(getAllDTOs) wrappers ({
        error,
        data
    }) {
        if(data) {
            this.objects = data;
            this.background = data[0].bkImgURL;
            this.MonthList = data[0].MonthListBefore;
            console.log(this.background );
            console.log(this.MonthList );
        

        } else {
            this.error = error;
        }
    }
Here I got value for this.background but I got undefined for this.MonthList. Is there anything wrong in my code?

I got value MonthListBefore in json when I debug.
"monthListBefore":[ 
"Avr",
"Mai",
"Jui",
"Jui",
"Aoû",
"Sep",
"Oct",
"Nov",
"Déc"
],

Thank you.

 
karthikeyan perumalkarthikeyan perumal
Hello, 

Change your track like below, 
 
@track MonthList= {};
MonthList is declared by initialising to null. So even before wired function gets back the data, the template is trying to display data[0].MonthList which is throwing error.

hope this will help you. 

Thanks
karthik
 
Thirumagal SiluvaithasanThirumagal Siluvaithasan
@karthikeyan perumal
Here the issue was I am using "monthListBefore" in controller But in javascript I am using "MonthListBefore".Both are different. Its case sensitive.
Thank You for your help!