前端开发

Vue 长列表卡顿改造

输入列表数据与卡顿现象 → 产出虚拟滚动改造方案

发布于 2026-10-27 16:11:26 浏览 8

适用场景

  • 长列表卡顿
  • 虚拟滚动
  • 渲染优化
PROMPT
后台订单列表卡到无法滚动,前端手上有接口返回结构和一次性能录屏,本周要把首屏渲染时间压下来。

【角色】
1. 按性能瓶颈改,先测再改,不凭感觉优化。
2. 每次只改一处,改完立即对比数据。
3. 保留原有交互,滚动位置与筛选状态不能丢。

【目标】
1. 首屏渲染从 4.2 秒降到 1 秒内,滚动帧率稳定 50 以上。
2. 列表支持 5000 条不卡,翻页逻辑不变。
3. 改造后内存占用不高于改造前,用同一份数据对比。

【背景】
1. 列表一次渲染 500 条,每条含 6 个字段与 2 个按钮。
2. 每行都绑了三个事件监听,滚动时重复触发。
3. 接口一次返回 500 条,没有分页参数。

【约束】
1. 不引入重型表格库,用原生虚拟滚动实现。
2. 不改接口协议,前端按可视区自行分片请求。
3. 保持现有筛选与排序逻辑,交互结果与改造前一致。

【输出】
1. 先给一份瓶颈清单,按耗时排序,标出测量方式。
2. 再给改造后的组件代码,含可视区计算与回收逻辑。
3. 最后给一张改造前后的对比数据表,含耗时与帧率两列。

【校验】
1. 用同一份 5000 条数据测三次,取中位数对比。
2. 滚动到列表底部再回顶,位置与数据不串。
3. 筛选后列表重算,滚动条高度与实际条数一致。
复制后直接粘贴到模型使用
标签 前端Vue3性能优化