Closed XueBoHua closed 6 months ago
我已经帮你解决这个问题了,if (Math.abs(Math.round(reactiveData.offset + slotSize.clientSize) - Math.round(getTotalSize())) > 2) 进来这个判断以后,意味着接口返回的数据有可能还没有加载完毕,导致高度计算错误,在代码上加个异步任务就好了 async function scrollToBottom() { scrollToOffset(getTotalSize()); const fixToBottom = () => { if (Math.abs(Math.round(reactiveData.offset + slotSize.clientSize) - Math.round(getTotalSize())) > 2) { setTimeout(() => { scrollToBottom(); }, 0) } fixTaskFn = null; }; fixTaskFn = fixToBottom; }
我已经帮你解决这个问题了,if (Math.abs(Math.round(reactiveData.offset + slotSize.clientSize) - Math.round(getTotalSize())) > 2) 进来这个判断以后,意味着接口返回的数据有可能还没有加载完毕,导致高度计算错误,在代码上加个异步任务就好了 async function scrollToBottom() { scrollToOffset(getTotalSize()); const fixToBottom = () => { if (Math.abs(Math.round(reactiveData.offset + slotSize.clientSize) - Math.round(getTotalSize())) > 2) { setTimeout(() => { scrollToBottom(); }, 0) } fixTaskFn = null; }; fixTaskFn = fixToBottom; }
👍 1.0.9发布的时候发现这个问题了。后面会修复。感谢反馈
已修复 #28
async function scrollToBottom() { scrollToOffset(getTotalSize()); const fixToBottom = () => { if (Math.abs(Math.round(reactiveData.offset + slotSize.clientSize) - Math.round(getTotalSize())) > 2) { scrollToBottom(); // 当进来了这个判断条件以后,就无法滚动到虚拟列表底部了 } fixTaskFn = null; }; ![Uploading Snipaste_2024-04-19_15-27-36.png…]()
}