UNPKG

@daysnap/vue-use

Version:
50 lines (49 loc) 1.55 kB
import { type Ref } from 'vue'; export interface UsePagingStatus { pagingIndex: number; pagingSize: number; pagingTotal: number; pagingError: string; pagingLoading: boolean; } export type UsePagingTaskResult<T = any> = { pagingList: T[]; pagingTotal: number; } | [T[], number]; export interface UsePagingTaskOptions { loading?: boolean; toast?: boolean; } export interface UsePagingTask<T = any> { (state: [number, number], options: UsePagingTaskOptions): Promise<UsePagingTaskResult<T>>; } export interface UsePagingOptions { /** * 初始化的状态 */ initialStatus?: Partial<UsePagingStatus>; /** * 是否立即执行 onBeforeMount 执行,默认 false */ immediate?: boolean; /** * 需要滚动的元素 默认 .hor-scroll */ scrollSelector?: string; } export type UsePagingTriggerOptions = ((...args: any[]) => any) | boolean | UsePagingTaskOptions; export declare function usePaging<T = any>(task: UsePagingTask<T>, options?: UsePagingOptions): { pagingFinished: import("vue").ComputedRef<boolean>; pagingData: Ref<T[]>; pagingStatus: { pagingIndex: number; pagingSize: number; pagingTotal: number; pagingError: string; pagingLoading: boolean; }; pagingTrigger: (pagingIndex: number, options?: UsePagingTriggerOptions) => void; pagingRefresh: (options?: UsePagingTriggerOptions) => void; pagingLoad: (options?: UsePagingTriggerOptions) => void; pagingReset: () => void; };