Akryum / vue-virtual-scroller

⚡️ Blazing fast scrolling for any amount of data
https://vue-virtual-scroller-demo.netlify.app
9.43k stars 901 forks source link

fix: scrollState value #841

Open tl-94 opened 10 months ago

tl-94 commented 10 months ago

Description

Fix scrollState value; In getScroll funtion, the start value will always be zero if start < 0, although the start is less than size(window.innerHeight if vertical), the problem is: if there's a virtual list below the viewport, then scroll the virtual list to the middle of the viewport, you will see there're blank rows(only rendered buffer items), because the start value is still zero, so positionDiff will be zero, then updateVisibleItems function will be return, blank rows appeared. so i changed the condition, don't set start to zero if bounds.top(if vertical) is great than 0 and less than size, that means the scroll list is entering the viewport, need to recalculate the startIndex and endIndex, so that blank rows will be disappeared and render real items.

Reproduction Demo site

  1. scroll the virtual list under the viewport to the middle of the viewport
  2. you will see there're blank rows
netlify[bot] commented 10 months ago

Deploy Preview for vue-virtual-scroller-demo failed.

Name Link
Latest commit dd47289f203ca481435b7e64eb3bc6d611ef0820
Latest deploy log https://app.netlify.com/sites/vue-virtual-scroller-demo/deploys/654d99914d2693000840704c