refreshList method
!!禁止父类重写此方法!!
父类接口请求成功后调用此方法
list 请求成功(list != null),请求失败(list == null)
Implementation
refreshList(List<DataModel>? list) {
if (null != list) {
if (Config.defPageNo == pageNo) {
dataModelList.clear();
}
int listSize = list.length; // 提前保存原始数据长度,避免数据去重后影响分页判断
if (list.isNotEmpty) {
dataModelList.addAll(list);
if (removeDuplicatesEnabled()) {
dataModelList = dataModelList.toSet().toList();
}
}
_rebuild();
if (Config.defPageNo == pageNo) {
refreshController.refreshCompleted();
if (listSize < getPageSize()) {
refreshController.loadNoData();
} else {
refreshController.resetNoData();
}
} else {
if (listSize < getPageSize()) {
refreshController.loadNoData();
} else {
refreshController.loadComplete();
}
}
} else {
if (Config.defPageNo == pageNo) {
refreshController.refreshCompleted();
} else {
pageNo--; // 如果是加载更多,失败后重置为之前的pageNo
refreshController.loadFailed();
}
_rebuild();
}
}