angular / angular/components

bug(scrolling): Opening dialog in window virtual scroll break scrolling

Open
#26,240 3 comments 4 reactions 0 assignees View on GitHub
area: cdk/scrolling P3
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

Description

### Is this a regression?

- [ ] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

_No response_

### Description

[cdk-virtual-scroll-viewport[scrollWindow]](https://material.angular.io/cdk/scrolling/api#CdkVirtualScrollableWindow) is empty when opening a `mat-dialog` if the window have been scrolled.

When the dialog is closed, everything returns to normal but the scroll is restored to top 0.

### Reproduction

Steps to reproduce:
1. Go to https://stackblitz.com/edit/angular-psylrc
2. Click on "open dialog" button of the 100th line

### Expected Behavior

The virtual scroll should not be influenced by dialog

### Actual Behavior

Virtual scroll container become empty and when the dialog is closed the items come back but the scroll is restored to 0

### Environment

- Angular: 15.0.2
- CDK/Material: 15.0.2
- Browser(s): any
- Operating System (e.g. Windows, macOS, Ubuntu): any

Contributor guide

Open the contributing guide

Research direction

Start with the linked StackBlitz reproduction and inspect the interaction between cdk-virtual-scroll-viewport[scrollWindow] and mat-dialog after scrolling to the 100th line. Reproduce the empty viewport and scroll restoration to 0, then verify that opening and closing the dialog leaves the virtual scroll populated at its original position.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.