tdesign-vue-next
Version:
TDesign Component for vue-next
29 lines (28 loc) • 887 B
TypeScript
import { Ref } from 'vue';
import { TScroll } from '../common';
export type UseVirtualScrollParams = Ref<{
data: {
[key: string]: any;
}[];
scroll: TScroll & {
fixedRows?: Array<number>;
};
preventResizeRefresh?: boolean;
}>;
export interface ScrollToElementParams {
index: number;
top?: number;
time?: number;
behavior?: 'auto' | 'smooth';
}
declare const useVirtualScroll: (container: Ref<HTMLElement | null>, params: UseVirtualScrollParams) => {
visibleData: Ref<any[]>;
translateY: Ref<number>;
scrollHeight: Ref<number>;
isVirtualScroll: import("vue").ComputedRef<boolean>;
handleScroll: () => void;
handleRowMounted: (rowData: any) => void;
scrollToElement: (p: ScrollToElementParams) => void;
};
export type VirtualScrollConfig = ReturnType<typeof useVirtualScroll>;
export default useVirtualScroll;