Skip to content

Row модели и источники данных

Core поддерживает разные типы источников строк. Выбор влияет на refresh/кэширование и на то, как обновляется UI.

1) Client row model

Подходит, когда все данные уже в памяти.

ts
import { createClientRowModel } from "@affino/datagrid-core"

const rowModel = createClientRowModel({ rows })

2) Server-backed row model

Используйте для больших таблиц и ленивой подгрузки.

ts
import { createServerBackedRowModel } from "@affino/datagrid-core"

const rowModel = createServerBackedRowModel({
  getRowCount: async () => total,
  getRow: async index => fetchRow(index),
})

3) Рекомендации по refresh

  • Смена данных: api.refreshRows("manual")
  • Смена колонок: api.refreshColumns("manual")
  • Изменение измерений: обновляйте viewport измерения в адаптере

4) Диагностика и контроль

Для детерминированных обновлений используйте ручные refresh и тестируйте снапшоты через api.getRowSnapshot().

MIT Licensed