Description
Describe the bug
Basic Vertical Renderer bounces to top when using Progressive Load Scroll. This happens when new data is fetched and added from the server.
Tabulator Info
- Tabulator 6.2.0
Working Example
https://jsfiddle.net/qsk5zLwh/2/
To Reproduce
- Construct table with
renderVertical:"basic"
andprogressiveLoad:"scroll"
- Connect table to remote source with enough rows to require multiple requests
- Scroll table towards bottom
- Notice table jumps to top and scroll bar shrink as new rows were added
Expected behavior
Smooth scrolling. Fetching the next page should not reset the scroll position.
Desktop:
- OS: Windows 10
- Browser Chrome
- Version 123.0.6312.122
Additional context
BasicVerticalRenderer rerenderRows
clears all rows then renders them again. This shrinks the container element and resets the scroll position. Documentation for renderers states that rerenderRows
should maintain scroll position.
Have encountered scrolling issues using the default virtual dom renderer like #4353 and #3654 both of which are resolved by switching to the basic renderer.
I have used the suggestion in #4424 and made the basic renderer's rerenderRows
remember the scrollTop
before clearing and then reapplying it after rendering to resolve the issue.