angular / components

Component infrastructure and Material Design components for Angular
https://material.angular.io
MIT License
24.37k stars 6.75k forks source link

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

Open MikaStark opened 1 year ago

MikaStark commented 1 year ago

Is this a regression?

The previous version in which this bug was not present was

No response

Description

cdk-virtual-scroll-viewport[scrollWindow] 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

pavel-turin commented 1 year ago

Any update? Does anyone have a workaround?

aeslinger0 commented 1 year ago

I have this same issue where some of the rows are not shown when the dialog is open. I'm not experiencing a loss of scroll position like the OP though. If you open the dialog at around line 20 in the example given you can see that the rows after that are not shown but the rows before still are. It appears that the translateY of the virtual scroll and the top of the cdk-global-scrollblock are being changed when a dialog is opened. Perhaps this is causing the issue?

image