-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Open
Labels
enhancementNew feature or requestNew feature or request
Description
这个需求解决了什么问题:
这个需求用于改善纵向虚拟滚动表现。
从3.10.x更新3.19.x后,横向和纵向虚拟滚动比较卡顿。
查看源码发现,纵向虚拟滚动时会多次执行wheelScrollTopTo,添加多个requestAnimationFrame回调函数。
减少requestAnimationFrame回调函数执行次数后,纵向虚拟滚动表现有所改善。
建议的 API 是什么样的:
无新api,需要改动/es/table/src/methods.js的wheelScrollTopTo
是否已有其他不错的替代方案:
我在使用上网沙箱提交issue,无法上传文件。
修改思路:
- wheelScrollTopTo方法向internalData.data_wheelScrollTopTo.toDeal(数组)添加待处理的滚动操作信息({startTime, countTop, diffNum});
- 检查toDeal元素数量是否大于1,不大于1则执行requestAnimationFrame(step),大于1则不执行;
- step函数根据toDeal计算出本次总滚动距离(每个元素对应的滚顶距离算法不变),执行一次wheelScrollTopTo的cb。
实测性能有所改善
是否使用当前最新版本?
- 我已确认是使用当前的最新版本。
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request