getItemsWithPaginatedRequest method
Future<void>
getItemsWithPaginatedRequest(
{ - required int page,
- String? key,
- bool isNewSearch = false,
})
Implementation
Future<void> getItemsWithPaginatedRequest({
required int page,
String? key,
bool isNewSearch = false,
}) async {
if (paginatedRequest == null) return;
if (isNewSearch) {
_page = 1;
paginatedItemList.value = null;
_hasMoreData = true;
}
if (!_hasMoreData) return;
status.value = SearchableDropdownStatus.busy;
final response = await paginatedRequest!(page, key);
if (response is! List<SearchableDropdownMenuItem<T>>) return;
paginatedItemList.value ??= [];
paginatedItemList.value = paginatedItemList.value! + response;
if (response.length < requestItemCount) {
_hasMoreData = false;
} else {
_page = _page + 1;
}
status.value = SearchableDropdownStatus.loaded;
}