Topic: Autocomplete with remote data from function with callback
Hi, is anyone who can help me please?
From docs - async loading:
const asyncAutocomplete = document.querySelector('#async');
const asyncFilter = async (query) => {
const url = `https://swapi.py4e.com/api/people/?search=${encodeURI(query)}`;
const response = await fetch(url);
const data = await response.json();
return data.results;
};
new mdb.Autocomplete(asyncAutocomplete, {
filter: asyncFilter,
displayValue: (value) => value.name
});
But, we have api calls build with function which returns response to callback. Like:
apiCall(requestMethod, requestData, function(response) {
#here I have data, which I am not able to use for autocomplete with remote data
});
Please, is any way, how to use this type of data request togethere with MDB autocomplete? I wouldn't like create URL wrapper to get data in the exactly same way.
Thank you.
meesha81
pro premium priority answered 10 months ago
In the past, we used some different select module (selectPicker) which has methods for changing data/update render etc. These type of methods I cannot see in documentation of autocomplete. So this is also question for MDB if is possible to change data and do update/render by methods.
Kamila Pieńkowska staff commented 10 months ago
Autocomplete do not have update method, but can be disposed and initiated with new data.
meesha81
pro premium priority answered 10 months ago
So I have solved it myself. Who need do this, you can do it with new promise wrapper function.
const response = await apiCallWrapper(request, requestData);
and apiCallWrapper looks like this
function apiCallWrapper(requestMethod, requestData) {
return new Promise((resolve, reject) => {
apiCall(requestMethod, requestData, function(response) {
resolve(response);
});
});
}
FREE CONSULTATION
Hire our experts to build a dedicated project. We'll analyze your business requirements, for free.
Answered
- User: Pro
- Premium support: Yes
- Technology: MDB Standard
- MDB Version: MDB5 7.3.0
- Device: PC
- Browser: Chrome
- OS: Win11
- Provided sample code: No
- Provided link: No