Skip to content

Progressive Load: Scroll on Basic Renderer jumps to top while scrolling #4469

Closed as not planned
@Bobcat64

Description

@Bobcat64

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

  1. Construct table with renderVertical:"basic" and progressiveLoad:"scroll"
  2. Connect table to remote source with enough rows to require multiple requests
  3. Scroll table towards bottom
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Possible BugA possible bug that needs investigation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions