Skip to content

useList 列表hook

代码示例

ts
const { list, loading, pager, getList } = useList({
    request: () => axios.get('/api'),
    onSuccess: (data) => {
        // 处理数据
        // ...
        return data;
    },
});

参数

参数说明类型默认值是否必填
request必填项,请求数据的函数() => Promise<AxiosResponse<any>>-
onSuccess可选项,请求成功的回调函数(data: any) => Record<string, any>[]-
onError可选项,请求失败的回调函数(err: any) => void-
onFinally可选项,请求结束的回调函数() => void-
codeField可选项,服务器状态码字段stringcode
dataField可选项,服务器数据字段stringdata
useFetch可选项,项目中自己重写的useFetch函数(options: UseFetchOptions) => void-

** UseListOptionsIList 类型定义**

ts
type UseListOptions = {
    request: () => Promise<AxiosResponse<any>>;
    onSuccess?: (data: any) => Record<string, any>[];
    onError?: (err: any) => void;
    onFinally?: () => void;
    useFetch?: (options: UseFetchOptions) => void
    codeField?: string;
    dataField?: string;
}

interface IList {
    list: Ref<Record<string, any>[]>;
    loading: Ref<boolean>;
    pager: Ref<{
        page: number;
        size: number;
        total: number;
    }>,
    getList: () => void;
}

返回值

参数说明类型
list列表数据Ref<Record<string, any>[]>
loading加载状态Ref<boolean>
pager分页信息Ref<{page: number, size: number, total: number}>
getList刷新列表() => void