Bug reportOct 17, 2026· 0:26· 0 views
PrimeVue: nested DynamicDialog close removes scroll lock while outer dialog stays open
0:26 total
Comments · 0
Be the first to comment.
Bug reportby SceneRecap AI
mediumDialog / DynamicDialog Scroll Management
os: macOSlocale: en-USbrowser: Chromium 151.0.7922.34timezone: Europe/Berlinviewport: 1280x720
Repro steps
- 1.Navigate to the PrimeVue Dynamic Dialog documentation page (/dynamicdialog) and scroll to the Example section.
- 2.Click 'Select a Product' to open the primary 'Product List' DynamicDialog modal.
- 3.Inside the 'Product List' modal, click the 'Nested Dialog' button to open the secondary 'Information' modal.
- 4.Click 'Close' inside the 'Information' nested modal to dismiss it.
- 5.Attempt to scroll the background page while the outer 'Product List' modal remains open.
Expected
The body scroll lock should persist as long as any modal/dialog remains open, preventing background content scrolling.
Actual
Closing the nested dialog removes the body scroll lock entirely, allowing the background page to scroll down while the parent 'Product List' dialog is still active on screen.
Evidence
visualPrimary 'Product List' dialog opens with backdrop blocking background interaction at 5.0s.
visualNested 'Information' modal displays over the parent modal at 11.0s and is closed at 15.95s.
visualBackground page and sidebar scroll downward (footer 'PrimeVue 5.0.2 by PrimeUI' and lower content become visible) behind the open 'Product List' dialog.
Issue markdown (copy-paste ready)
### Summary When opening a nested `DynamicDialog` and subsequently closing it, the body scroll lock is dismantled prematurely. As a result, the user can scroll the underlying webpage even though the parent `DynamicDialog` is still active and open. ### Steps to Reproduce 1. Go to the PrimeVue Dynamic Dialog documentation page (`/dynamicdialog`) (0.0s). 2. Click the **Select a Product** button to open the initial 'Product List' modal (3.97s). 3. Click the **Nested Dialog** button located in the header of the 'Product List' dialog (10.13s). 4. Click **Close** in the nested 'Information' dialog (15.95s). 5. Move the cursor over the background/sidebar and attempt to scroll (19.0s). ### Expected Behavior Body scroll lock should be reference-counted or tracked across all active dialog instances so that closing a nested dialog does not re-enable background scrolling until all dialogs are dismissed. ### Actual Behavior Closing the nested dialog destroys the scroll lock, causing the background page to scroll freely underneath the active parent modal (evidenced by the page footer and headings shifting at 21.0s–23.0s). *Recorded with SceneRecap.*
Your recordings could explain themselves too.
Free plan · silent recordings welcome · bug reports included.
Try SceneRecap free →