Interface IUseTableList<T, P, D>

interface IUseTableList<T, P, D> {
    request: {
        api: ((params: P) => Promise<T>);
        handleParams?: ((params: P) => P);
        pageNumKey?: string;
        pageSizeKey?: string;
        params?: P;
        watcher?: Watcher<P>;
    };
    response?: {
        append?: boolean;
        hasPage?: ((res: D) => boolean);
        listKey?: string;
        responseHandler?: ((res: D) => any);
        totalKey?: string;
    };
}

Type Parameters

  • T = any
  • P = any
  • D = any

Properties

Properties

request: {
    api: ((params: P) => Promise<T>);
    handleParams?: ((params: P) => P);
    pageNumKey?: string;
    pageSizeKey?: string;
    params?: P;
    watcher?: Watcher<P>;
}

Type declaration

  • api: ((params: P) => Promise<T>)

    请求方法

      • (params): Promise<T>
      • Parameters

        • params: P

        Returns Promise<T>

  • OptionalhandleParams?: ((params: P) => P)

    接口请求前处理

      • (params): P
      • Parameters

        • params: P

        Returns P

  • OptionalpageNumKey?: string

    分页键

    pageNum
    
  • OptionalpageSizeKey?: string

    分页键

    pageSize
    
  • Optionalparams?: P

    请求参数

  • Optionalwatcher?: Watcher<P>

    观察 默认监听pageNumKey,pageSizeKe变化触发请求 如果传入空数组,不监听

response?: {
    append?: boolean;
    hasPage?: ((res: D) => boolean);
    listKey?: string;
    responseHandler?: ((res: D) => any);
    totalKey?: string;
}

响应数据处理

Type declaration

  • Optionalappend?: boolean

    是否追加,主要用于滚动分页

  • OptionalhasPage?: ((res: D) => boolean)

    处理是还有数据

      • (res): boolean
      • Parameters

        • res: D

        Returns boolean

  • OptionallistKey?: string

    返回结果的数据列表键

    list
    
    // 响应数据为 { data: { list: [] } } 则传递 data.list;
    
  • OptionalresponseHandler?: ((res: D) => any)

    自定义响应时处理,返回值必须包含listKey,totalKey,如果为空,应返回对应的默认值,即list、total

      • (res): any
      • Parameters

        • res: D

        Returns any

  • OptionaltotalKey?: string

    返回结果的数据列表键

    total

    // 响应数据为 { data: { list: [], total: 0 } } 则传递 data.total;