虚拟列表本来采用的是静态高度+直接计算偏移的方式,而在大模型输出文字流的场景当中,本身文本流是不定高的。此时就要采用 预估高度 + 动态偏移 的原理
- 给每个 Item 一个预估高度(Estimated Height)。
- 渲染后通过
ResizeObserver或ref获取真实高度并缓存。 - 动态更新后续所有元素的
top偏移量和滚动条的总高度
虚拟列表本来采用的是静态高度+直接计算偏移的方式,而在大模型输出文字流的场景当中,本身文本流是不定高的。此时就要采用 预估高度 + 动态偏移 的原理
ResizeObserver 或 ref 获取真实高度并缓存。top 偏移量和滚动条的总高度