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.
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