vue-hooks-plus
Version:
Vue hooks library
22 lines (21 loc) • 643 B
TypeScript
import { Ref } from 'vue';
export type UseVirtualListTargetValue<T> = T | undefined | null;
export interface UseVirtualListOptions<T> {
wrapperTarget: Ref<UseVirtualListTargetValue<HTMLElement>>;
itemHeight: number | ((index: number, data: T) => number);
overscan?: number;
}
declare const useVirtualList: <T = any>(list: Ref<T[]>, options: UseVirtualListOptions<T>) => readonly [Ref<{
index: number;
data: T;
}[], {
index: number;
data: Ref<T>;
}[] | {
index: number;
data: T;
}[]>, {
ref: (ele: any) => void;
onScroll: (e: any) => void;
}, (index: number) => void];
export default useVirtualList;