Skip to content

Commit 450095e

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 b3dc759 commit 450095e

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
@@ -45,7 +45,7 @@ import {CdkMenuTriggerBase, MENU_TRIGGER} from './menu-trigger-base';
4545
standalone: true,
4646
host: {
4747
'class': 'cdk-menu-trigger',
48-
'aria-haspopup': 'menu',
48+
'[attr.aria-haspopup]': 'menuTemplateRef ? "menu" : null',
4949
'[attr.aria-expanded]': 'isOpen()',
5050
'(focusin)': '_setHasFocus(true)',
5151
'(focusout)': '_setHasFocus(false)',
@@ -99,7 +99,7 @@ export class CdkMenuTrigger extends CdkMenuTriggerBase implements OnDestroy {
9999

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

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

0 commit comments

Comments
 (0)