angular / angular/components

bug(MatAutocomplete): BlockScrollStrategy doesn't work with cdkScrollable

Open
#26,199 2 comments 1 reaction 0 assignees View on GitHub
area: material/autocomplete P4
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

Using `BlockScrollStrategy` on `MatAutocomplete` does not work unless the scroll container is the document itself.
I've added `cdkScrollable` to the scroll container, and `CloseScrollStrategy` and `RepositionScrollStrategy` do work, but not `BlockScrollStrategy`.

### Reproduction

1. https://angular-scroll-block.stackblitz.io
2. Use Ctrl+Space inside the input field and scroll the scroll-container.

Working example with the scroll in the document:
1. https://angular-scroll-block-works.stackblitz.io
2. 2. Use Ctrl+Space inside the input field and scroll the document.

### Expected Behavior

Scroll should be blocked when using `BlockScrollStrategy`

### Actual Behavior

Scroll is not blocked when using `BlockScrollStrategy`

### Environment

Angular CLI: 14.2.3

Node: 18.12.0 (Unsupported)
Package Manager: npm 8.19.2
OS: win32 x64

Angular: 14.2.2
... animations, cdk, common, compiler, compiler-cli, core, forms
... material, platform-browser, platform-browser-dynamic, router

Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1402.3
@angular-devkit/build-angular 14.2.3
@angular-devkit/core 14.2.3
@angular-devkit/schematics 14.2.3
@angular/cli 14.2.3
@ngtools/webpack 14.2.3
@schematics/angular 14.2.3
ng-packagr 14.2.1
rxjs 7.5.6
typescript 4.8.3
webpack 5.74.0

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the behavior in the linked angular-scroll-block.stackblitz.io example and compare it with the working document-scroll example. Read the MatAutocomplete and BlockScrollStrategy entry points, then verify that scrolling the cdkScrollable container is blocked while the autocomplete is open, without breaking the other scroll strategies.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.