vue3-virtual-scroll-list
vue3-virtual-scroll-list copied to clipboard
scrollToBottom 渲染前获取并设置高度bug
https://github.com/reactjser/vue3-virtual-scroll-list/blob/1a60766cd0cd1702899925cafc93efa7f6da80b7/src/virtual-list.tsx#L256-L271
这里3ms不够,可能在渲染新数据完成前获取高度。
参考 https://developer.mozilla.org/zh-CN/docs/Web/API/Window/requestAnimationFrame
一般情况每秒60次回调,就是17ms回调一次,设置成大于17ms的值才行。 页面比较卡的时候还是会有问题,以下写法更稳妥点:
const scrollToBottom = () => {
if (shepherd.value) {
requestAnimationFrame(() => {
requestAnimationFrame(() => {
scrollToOffset(shepherd.value[isHorizontal ? 'offsetLeft' : 'offsetTop'])
})
})
}
}
#13 的问题也一并解决了