angular / angular/components

cdk-global-scrollblock not removed when navigating while dialog is being closed

オープン
#5,864 コメント 9 件 リアクション 0 件 担当者 0 名 GitHub で見る
area: cdk/scrolling area: material/dialog P3
主要言語
TypeScript
スター
25k
フォーク
6.8k
平均マージ
1日 8時間
マージ済み PR(30日)
91

説明

#### Bug, feature request, or proposal:
Bug

#### What is the expected behavior?
cdk-global-scrollblock is removed from document when the router navigates to a new route while the dialog is being closed (not yet tested if the same happens while navigating when a dialog is open)

#### What is the current behavior?
When navigating while closing the dialog, the class cdk-global-scrollblock will not be removed from document and scrolling is not possible anymore.

#### What are the steps to reproduce?
Open a dialog, call this.mdDialogRef.close() and immediately navigate to a different route. It can be solved easily by observing this.mdDialogRef.afterClosed but I think that the framework should ensure that cdk-global-scrollblock gets removed when navigating.

#### What is the use-case or motivation for changing an existing behavior?

#### Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular: 4.3.0
Material: 2.0.0-beta.8-dd230a3
CDK: 2.0.0-beta.8-dd230a3
OS: Linux
Typescript: 2.3.4
Browsers: Chrome

#### Is there anything else we should know?

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

ダイアログを開き、mdDialogRef.close() を呼び出して、直ちに別の route へ移動することで問題を再現します。ダイアログの終了ライフサイクルと cdk-global-scrollblock のクリーンアップを追跡します。完了の条件は、クラスが document から削除され、移動後もスクロールできることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
angular, typescript
領域
frontend
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。