用途:在 Angular 中为 TanStack Table 的最终行模型或列模型做虚拟化渲染。虚拟化是渲染层关注点,不是 Table 的功能插件,需建立在 @tanstack/table-core 的 core、getting-started 与 table-state 之上。
主要能力:通过 injectVirtualizer 创建行/列虚拟器,配合 computed 派生响应式模型,如 computed(() => table.getRowModel().rows) 与 computed(() => table.getVisibleLeafColumns());支持 count、scrollElement、estimateSize、getItemKey、overscan 等配置,并可用 getVirtualItems() 与 getTotalSize() 驱动渲染。
使用方式:injectVirtualizer 会在初始化器中追踪信号读取,且必须在注入上下文中调用,不能在普通函数里构造。需自行负责布局契约:为滚动元素设置受限溢出,创建总尺寸占位元素,对每个虚拟项做位移或测量;动态行/列使用 grid/flex 宽度,粘性表头需保持在正确的滚动几何内。无限加载时,当最后一个虚拟项接近已获取长度,仅在服务端仍有更多行且无进行中请求时才发起获取;手动排序需服务端已排序分页并配合重置/重新获取策略。
常见错误:在注入上下文之外构造虚拟器;直接虚拟化原始数据而绕过 Table 的过滤、排序、展开、分组与分页;忘记占位元素与 transform,虚拟化只计算范围与尺寸,不负责 DOM 几何、粘性 CSS 或列宽。
限制:具体 API 与示例以已安装的 @tanstack/angular-table/dist/types/、@tanstack/angular-virtual/dist/ 及维护中的 Angular 示例为准;资料未提供收费、平台与效果信息。