Skip to content

Commit cb5afb4

Browse files
committed
feat(cdk/menu): Allow setting cdkMenuTrigger null
Add ability to set [cdkMenuTrigger]="null" as is now possible with material menu. Fixes #25782
1 parent 5473b28 commit cb5afb4

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export abstract class CdkMenuTriggerBase implements OnDestroy {
5858
readonly closed: EventEmitter<void> = new EventEmitter();
5959

6060
/** Template reference variable to the menu this trigger opens */
61-
menuTemplateRef: TemplateRef<unknown>;
61+
menuTemplateRef: TemplateRef<unknown> | null;
6262

6363
/** Context data to be passed along to the menu template */
6464
menuData: unknown;

src/cdk/menu/menu-trigger.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ import {CdkMenuTriggerBase, MENU_TRIGGER} from './menu-trigger-base';
4444
exportAs: 'cdkMenuTriggerFor',
4545
host: {
4646
'class': 'cdk-menu-trigger',
47-
'aria-haspopup': 'menu',
47+
'[attr.aria-haspopup]': 'menuTemplateRef ? "menu" : null',
4848
'[attr.aria-expanded]': 'isOpen()',
4949
'(focusin)': '_setHasFocus(true)',
5050
'(focusout)': '_setHasFocus(false)',
@@ -98,7 +98,7 @@ export class CdkMenuTrigger extends CdkMenuTriggerBase implements OnDestroy {
9898

9999
/** Open the attached menu. */
100100
open() {
101-
if (!this.isOpen()) {
101+
if (!this.isOpen() && this.menuTemplateRef != null) {
102102
this.opened.next();
103103

104104
this.overlayRef = this.overlayRef || this._overlay.create(this._getOverlayConfig());

0 commit comments

Comments
 (0)