When item template is used in Syncfusion Dropdown control, after search is performed, manually triggering loading of remote data fail to work

Team,

With a particular set of steps, manually triggering loading of remote data fail to work for syncfusion dropdown control when item template is used.

Steps to reproduce the bug (With reference to demo project attached):

1. Select some value from dropdown.
2. Click on "Refresh Remote Data" => The remote data does get refreshed. API call can be seen from networks.
3. Again open the dropdown, this time search some value and then select it
4. Click on "Refresh Remote Data" 

Expected Result:
The remote must get refreshed for the control making API call.

Actual Result:
No API call is made. The data however get refreshed only when dropdown is clicked again. This happen only when itemTemplate is used. 
If we don't use itemTemplate, the data does get refreshed.


Could you help me out how to resolve this issue?

Thanks
Tuariq

Attachment: Remote_Data_Fail_To_Refresh_30c41530.zip

3 Replies 1 reply marked as answer

SN Sevvandhi Nagulan Syncfusion Team October 6, 2020 10:46 AM UTC

Hi Tuariq, 


Greetings from Syncfusion support. 


We confirmed the reported issue " Remote data not refreshed after the search is performed" as a bug in our end and the fix will be available in our October 20th , 2020. You can track the status of the bug in the below feedback link from below.    



Regards, 
Sevvandhi N 



TU Tuariq October 6, 2020 02:10 PM UTC

Hi Sevvandhi N,

Thanks you for the response.
Could you provide any workaround if available for the time the official fix is released?

I have a scenario that needs it on priority. It will be great help if any workaround is there.

Thanks
Tuariq




SN Sevvandhi Nagulan Syncfusion Team October 7, 2020 03:51 PM UTC

Hi Tuariq, 


We checked the reported requirement. Set the isCustomFilter variable as false when changing the data source to make the request to the server. Please refer the code below, 


click(){ 
    (this.dropdown as any).isCustomFilter = false; 
   this.data= new DataManager({ 
    url: 'https://ej2services.syncfusion.com/production/web-services/api/Employees', 
    adaptor: new WebApiAdaptor, 
    crossDomain: true 
  }) 
   this.query= new Query().select(['FirstName''EmployeeID']).take(7).requiresCount(); 
   this.dropdown.dataBind(); 
  } 



Please find the sample below, 




Kindly check the above sample and get back to us if you need further assistance. 


Regards, 
Sevvandhi N 


Marked as answer
Loader.
Up arrow icon