aling
Version:
奇怪的组件库
23 lines (22 loc) • 987 B
TypeScript
export interface useInfiniteScrollOptions {
initPage?: number;
initPageSize?: number;
}
export type useInfiniteScrollRequest = (pageNo: number, pageSize: number) => Promise<{
data?: any[];
total?: number;
}>;
export type useInfiniteScrollReturn = {
list: any[];
hasMore: boolean;
loadMore: (isRetry: boolean) => Promise<void>;
reset: () => void;
};
/**
* 无限滚动hook,配合ant-mobile/infinite-scroll使用
* @param request 一个异步函数,接收两个参数:pageNo,pageSize;函数内同步请求数据接口,返回值须包含total和data, eg: { data:[],total:100 }
* @param options initPage,initPageSize
* @returns { list, hasMore, loadMore, reset } list为加载的列表数组;hasmore为是否还有更多数据;loadMore为加载更多函数;reset为重置函数
*/
declare const useInfiniteScroll: (request: useInfiniteScrollRequest, options?: useInfiniteScrollOptions) => useInfiniteScrollReturn;
export default useInfiniteScroll;