Skip to content

Справочник API

Типы TypeScript

Все публичные типы экспортируются из корня пакета:

ts
import type {
  // Определение столбца для VirtualTable
  ColumnDef,

  // Определение группы для GroupedVirtualList
  GroupDef,

  // Выравнивание прокрутки
  ScrollAlign, // 'start' | 'center' | 'end' | 'auto'

  // Опции для scrollTo/scrollToOffset — { behavior?: 'auto' | 'smooth' }
  ScrollBehaviorOptions,

  // Видимый диапазон, возвращаемый useVirtualScroll
  VisibleRange, // { start: number; end: number }

  // Публичный API VirtualList (используйте вместо InstanceType для generic-компонентов)
  VirtualListExpose,

  // Публичный API GroupedVirtualList
  GroupedVirtualListExpose,

  // Payload события сортировки от VirtualTable
  SortChange, // { key: string; direction: 'asc' | 'desc' | null }

  // Низкоуровневый тип для строки GroupedVirtualList
  VirtualRow,
  VirtualRowType,

  // Типы дерева, экспортируемые из VirtualTree
  TreeNode,
  FlatTreeRow,

  // Провайдер размера для PositionManager / useVirtualScroll
  SizeProvider, // number | ((index: number) => number)

  // Типы опций/возврата для useRowSelection
  UseRowSelectionOptions,
  UseRowSelectionReturn,

  // Типы опций/возврата для useVisibilityTracker
  UseVisibilityTrackerOptions,
  UseVisibilityTrackerReturn,
} from 'vue-virtual-scroller-kit'

VirtualListExpose против InstanceType

Generic Vue SFC (generic="T") несовместимы с InstanceType<typeof Component>. Вместо этого используйте выделенные интерфейсы публичного API:

ts
// ✗ Не работает для generic SFC
const listRef = ref<InstanceType<typeof VirtualList> | null>(null)

// ✓ Правильно
import type { VirtualListExpose } from 'vue-virtual-scroller-kit'
const listRef = ref<VirtualListExpose | null>(null)