Skip to content

Commit 8946ce2

Browse files
committed
fix(cdk/menu): allow scrolling while menu is open
Uses the `reposition` scroll strategy instead of `block` and tweaks the positioning strategy to work better with scrolling.
1 parent 7aa4f01 commit 8946ce2

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/cdk/menu/context-menu-trigger.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ export class CdkContextMenuTrigger extends CdkMenuTriggerBase implements OnDestr
154154
private _getOverlayConfig(coordinates: ContextMenuCoordinates) {
155155
return new OverlayConfig({
156156
positionStrategy: this._getOverlayPositionStrategy(coordinates),
157-
scrollStrategy: this._overlay.scrollStrategies.block(),
157+
scrollStrategy: this._overlay.scrollStrategies.reposition(),
158158
direction: this._directionality,
159159
});
160160
}
@@ -169,6 +169,8 @@ export class CdkContextMenuTrigger extends CdkMenuTriggerBase implements OnDestr
169169
return this._overlay
170170
.position()
171171
.flexibleConnectedTo(coordinates)
172+
.withLockedPosition()
173+
.withGrowAfterOpen()
172174
.withPositions(this.menuPosition ?? CONTEXT_MENU_POSITIONS);
173175
}
174176

src/cdk/menu/menu-trigger.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ export class CdkMenuTrigger extends CdkMenuTriggerBase implements OnDestroy {
240240
private _getOverlayConfig() {
241241
return new OverlayConfig({
242242
positionStrategy: this._getOverlayPositionStrategy(),
243-
scrollStrategy: this._overlay.scrollStrategies.block(),
243+
scrollStrategy: this._overlay.scrollStrategies.reposition(),
244244
direction: this._directionality,
245245
});
246246
}
@@ -250,6 +250,8 @@ export class CdkMenuTrigger extends CdkMenuTriggerBase implements OnDestroy {
250250
return this._overlay
251251
.position()
252252
.flexibleConnectedTo(this._elementRef)
253+
.withLockedPosition()
254+
.withGrowAfterOpen()
253255
.withPositions(this._getOverlayPositions());
254256
}
255257

0 commit comments

Comments
 (0)