@slan-health/taro-vueuse
Version:
taro vue版本hooks
26 lines (24 loc) • 1.02 kB
TypeScript
import { ComputedRef, WritableComputedRef } from 'vue';
import { Options, QueryResult, Service } from './core/types';
interface PaginationType {
currentKey: string;
pageSizeKey: string;
totalKey: string;
totalPageKey: string;
}
export interface PaginationExtendsOption {
pagination?: Partial<PaginationType>;
}
export interface PaginationOptions<R, P extends unknown[]> extends Options<R, P>, PaginationExtendsOption {
}
interface PaginationQueryResult<R, P extends unknown[]> extends QueryResult<R, P> {
current: WritableComputedRef<number>;
pageSize: WritableComputedRef<number>;
total: ComputedRef<number>;
totalPage: ComputedRef<number>;
changeCurrent: (current: number) => void;
changePageSize: (pageSize: number) => void;
changePagination: (current: number, pageSize: number) => void;
}
declare function usePagination<R, P extends unknown[] = any>(service: Service<R, P>, options?: PaginationOptions<R, P>): PaginationQueryResult<R, P>;
export default usePagination;