Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(virtual-core): Add option to disable element dimension rounding for improved scrolling precision #841

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ms-austin-beaulieu
Copy link

This PR introduces a new roundElementDimensions prop to the VirtualizerOptions, allowing users to disable the default behavior of rounding element dimensions.

Problem:
Programmatic scrolling at the bottom of very large lists can become unstable when elements contain sub-pixel dimensions due to the default rounding of getBoundingClientRect values. This instability is particularly noticeable in lists with high precision layout requirements.

Solution:
The newly added roundElementDimensions?: boolean prop allows users to control whether element dimensions are rounded. By default, this prop is set to true, maintaining the current behavior. When set to false, rounding is skipped, ensuring more precise scrolling behavior in scenarios where sub-pixel accuracy is needed.

Due to default element dimension rounding, programatic scrolling while at the bottom of very large lists can be unstable when element dimensions contain sub-pixel values. Adding an option to the virtualizer fixes this when this level of precision is needed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant