VirtualItem 对象表示虚拟器返回的单个项。它包含在虚拟器的 scrollElement 内的坐标空间中渲染该项所需的信息以及其他有用的属性/函数。
export interface VirtualItem {
key: string | number | bigint
index: number
start: number
end: number
size: number
}
export interface VirtualItem {
key: string | number | bigint
index: number
start: number
end: number
size: number
}
每个 VirtualItem 对象上都提供以下属性和方法:
key: string | number | bigint
key: string | number | bigint
项的唯一键。默认情况下,这是项索引,但应通过 getItemKey Virtualizer 选项进行配置。
index: number
index: number
项的索引。
start: number
start: number
项的起始像素偏移量。这通常映射到 CSS 属性或变换,如 top/left 或 translateX/translateY。
end: number
end: number
项的结束像素偏移量。此值对于大多数布局不是必需的,但可能很有用,因此我们仍然提供了它。
size: number
size: number
项的大小。这通常映射到 CSS 属性,如 width/height。在使用 VirtualItem.measureElement 方法测量项之前,这将是从 estimateSize 虚拟器选项返回的估计大小。在测量项之后(如果你选择测量它),此值将是由 measureElement 虚拟器选项返回的数字(默认情况下,该选项配置为使用 getBoundingClientRect() 测量元素)。
lane: number
lane: number
项的通道索引。在常规列表中,它将始终设置为 0,但对于瀑布流布局(有关更多详细信息,请参见可变示例)非常有用。