Skip to content

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
@piecyk
Copy link
Collaborator

piecyk commented May 5, 2025

Thanks for the contribution! Since the change in #986 uses offsetWidth / offsetHeight which already return integer values as a fallback, that should effectively prevent rounding issues and improve scrolling precision. Closing this for now, as the underlying issue should be resolved.

@piecyk piecyk closed this May 5, 2025
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.

2 participants