Environment
Nuxt project info:
|
|
| Operating system |
Linux 5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36 |
| CPU |
Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz (8 cores) |
| Node.js version |
v22.22.3 |
| nuxt/cli version |
3.37.0 |
| Package manager |
pnpm@8.15.6 |
| Nuxt version |
4.4.6 |
| Nitro version |
2.13.4 |
| Builder |
vite@7.3.6 |
| Config |
css, devtools, modules |
| Modules |
@nuxt/ui@4.11.0 |
│
Is this bug related to Nuxt or Vue?
Vue
Package
v4.x
Version
v4.11.0
Reproduction
https://stackblitz.com/edit/jemk8umy-vgu51h5j
Description
When virtualization is enabled on UTable, tables with variable-height rows may continue changing their total height even after scrolling has stopped.
This causes the scroll position to move without user input. Sticky elements and surrounding UI may also continuously re-render and visibly jitter.
Steps to reproduce
- Open the reproduction.
- Scroll down inside the virtualized table.
- Stop scrolling when rows with different content heights are visible.
- Observe the scrollbar and the table's total height.
The reproduction also passes a measureElement callback through the virtualize prop, but the callback is never invoked.
Expected behavior
Rendered rows should be measured dynamically, and the virtualizer should update their sizes without causing the scroll position to jump.
Actual behavior
The virtualizer continues relying on the estimated row size while the rendered rows have different actual heights. The table's total height and scroll position keep changing, causing visible scroll jitter.
Screen.Recording.2026-09-01.at.19.17.16.mov
Additional context
This appears to be related to #6101 and the still-open PR #6379. However, the issue was closed without a resolution, and the PR has not been merged yet
Logs
Environment
Nuxt project info:
│
Is this bug related to Nuxt or Vue?
Vue
Package
v4.x
Version
v4.11.0
Reproduction
https://stackblitz.com/edit/jemk8umy-vgu51h5j
Description
When virtualization is enabled on UTable, tables with variable-height rows may continue changing their total height even after scrolling has stopped.
This causes the scroll position to move without user input. Sticky elements and surrounding UI may also continuously re-render and visibly jitter.
Steps to reproduce
The reproduction also passes a measureElement callback through the virtualize prop, but the callback is never invoked.
Expected behavior
Rendered rows should be measured dynamically, and the virtualizer should update their sizes without causing the scroll position to jump.
Actual behavior
The virtualizer continues relying on the estimated row size while the rendered rows have different actual heights. The table's total height and scroll position keep changing, causing visible scroll jitter.
Screen.Recording.2026-09-01.at.19.17.16.movAdditional context
This appears to be related to #6101 and the still-open PR #6379. However, the issue was closed without a resolution, and the PR has not been merged yet
Logs