加载更多扩展 API

加载更多扩展。

const { ...ReturnValues } = useLoadMore<R, P, FR, LR>(Service, Options);

TS 泛型说明

LRdataList 的类型 (注:该泛型受到 unknown[] 的约束)

用法参考: 加载更多扩展

注意

以下API,是 公共API超集。如果没有特别说明的,则和 公共API 保持一致。

Return Values

dataList

  • 类型: Ref<LR>

  • 默认值: []

    所有请求数据(数据取自 data[listkey])的合并数组

loadingMore

  • 类型: Ref<boolean>

  • 默认值: false

    是否正在加载更多,用于记录 loadMore() 是否正在触发。如果想要判断 Service 是否正在请求,请使用 loading

refreshing New in 1.1.0

  • 类型: Ref<boolean>

  • 默认值: false

    是否正在刷新,用于记录 refresh() 是否正在触发。

noMore

  • 类型: Ref<boolean>

  • 默认值: false

    是否有更多数据,需要配合 isNoMore 使用

loadMore

  • 类型: () => void

  • 默认值: 0

    触发加载更多

reload

  • 类型: () => void

    清空所有请求状态,以及请求结果(包括dataList),并重新触发请求

refresh New in 1.1.0

  • 类型: () => void

    重新请求数据,与reload() 不同的是,该方法在请求结束前不会清空dataList,可用于实现下拉刷新

queries 不支持

LoadMore 模式下,不支持 并发请求

mutate 不支持

LoadMore 模式下,不支持 数据更改

Service

请求函数

  • 类型:

    • (returnData: ReturnDataType | undefined, ...params: P) => Promise<R>
    • | (returnData: ReturnDataType | undefined, ...params: P) => string
    • | (returnData: ReturnDataType | undefined, ...params: P) => ({ url: string; [key: string]: any; })
  • 详情:

    第一个参数的类型解释如下(首次请求时,第一个参数是undefined

    type ReturnDataType = {
      data: R; // 上一次请求的结果
      dataList: LR; // 当前存储的结果合并数组
    };
    

字符串 不支持

loadMore 模式下,不支持。

对象 不支持

loadMore 模式下,不支持。

Options

listKey

  • 类型: string
  • 默认值: list
  • 详情:

根据 data 对象的 path 路径获取值。与 lodash.get 相似,可以参考lodash 文档在新窗口打开

const data = { a: [{ b: { c: 3 } }] };
const listKey = 'a[0].b.c';
// => 3

指定 data 中数据数组的路径

isNoMore

  • 类型: (data: R) => boolean

  • 默认值: false

  • 详情:

    判断是否还有更多数据

queryKey 不支持

LoadMore 模式下,不支持 并发请求

上次更新: 2021/10/7 上午11:26:25
贡献者: John