page<T> static method

List<T> page<T>(
  1. int pageNo,
  2. int pageSize,
  3. List<T>? list
)

列表分页,对给定列表进行分页处理

Implementation

static List<T> page<T>(int pageNo, int pageSize, List<T>? list) {
  if (list == null || list.isEmpty) return [];
  if (list.length <= pageSize)
    return pageNo <= 1 ? List.unmodifiable(list) : [];

  final range = transToStartEnd(pageNo, pageSize);
  int start = range[0];
  int end = range[1].clamp(0, list.length);
  return start >= end ? [] : list.sublist(start, end);
}