渲染列表时过长造成卡顿,分批次渲染

发布时间 2023-12-01 15:40:26作者: 人恒过
 1 // this.tableData = res.data;  //直接赋值页面卡顿
 2 // 分批渲染
 3 (function (arr, _this) {
 4   let i = 0;
 5   // 合并列表
 6   const merge = (arr2, iTime) => {
 7     setTimeout(() => {
 8       _this.tableData = [..._this.tableData, ...arr2]; // 赋值渲染
 9     }, 2 * iTime); // 间隔0.002 * 20秒
10   };
11   // 20条/堆
12   while (i < arr.length) {
13     merge(arr.slice(i, i + 20), i);
14     i = i + 20;
15   }
16 })(res.data, this);