API Reference
TypeScript types
All public types are exported from the package root:
ts
import type {
// Column definition for VirtualTable
ColumnDef,
// Group definition for GroupedVirtualList
GroupDef,
// Scroll alignment
ScrollAlign, // 'start' | 'center' | 'end' | 'auto'
// Options for scrollTo/scrollToOffset — { behavior?: 'auto' | 'smooth' }
ScrollBehaviorOptions,
// Visible range returned by useVirtualScroll
VisibleRange, // { start: number; end: number }
// Exposed API of VirtualList (use instead of InstanceType for generic components)
VirtualListExpose,
// Exposed API of GroupedVirtualList
GroupedVirtualListExpose,
// Sort event payload from VirtualTable
SortChange, // { key: string; direction: 'asc' | 'desc' | null }
// Low-level type for GroupedVirtualList row
VirtualRow,
VirtualRowType,
// Tree types exported from VirtualTree
TreeNode,
FlatTreeRow,
// Size provider for PositionManager / useVirtualScroll
SizeProvider, // number | ((index: number) => number)
// Options/return types for useRowSelection
UseRowSelectionOptions,
UseRowSelectionReturn,
// Options/return types for useVisibilityTracker
UseVisibilityTrackerOptions,
UseVisibilityTrackerReturn,
} from 'vue-virtual-scroller-kit'VirtualListExpose vs InstanceType
Generic Vue SFCs (generic="T") are not compatible with InstanceType<typeof Component>. Use the dedicated expose interfaces instead:
ts
// ✗ Does not work for generic SFCs
const listRef = ref<InstanceType<typeof VirtualList> | null>(null)
// ✓ Correct
import type { VirtualListExpose } from 'vue-virtual-scroller-kit'
const listRef = ref<VirtualListExpose | null>(null)