angular / angular/components

bug(cdk-menu): cdkMenuTriggerFor within cdkContextMenuTriggerFor causes repositioning when hovered

Offen
#26,675 0 Kommentare 6 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: cdk/menu P3
Vorherrschende Sprache
TypeScript
Sterne
25k
Forks
6.8k
Ø Merge
1 T. 8 Std.
Gemergte PRs (30 T.)
91

Beschreibung

### 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 a `[cdkMenuTriggerFor]` within a container that has a `[cdkContextMenuTriggerFor]` for the same cdkMenu.

Current behavior:
When a cdkMenu is opened by the `[cdkContextMenuTriggerFor]` the cdkMenu it will be repositioned to the `[cdkMenuTriggerFor]` when the `[cdkMenuTriggerFor]` is hovered.

Expected behavior:
the cdkMenu should stay at its current location, even if `[cdkMenuTriggerFor]` is hovered.

In case this is confirmed as a bug, I could provide a PR fixing the issue

### Reproduction

Stackblitz: https://stackblitz.com/edit/components-issue-uo4741?file=src/app/example-component.html

Steps to reproduce:
1. Right click on Lucas ipsum
2. hover Open Context Menu button

### Expected Behavior

contextMenu does not change position

### Actual Behavior

contextMenu moves to the location of the button trigger

### Environment

- Angular: 15
- CDK/Material: 15
- Browser(s): Firefox, Chrome
- Operating System (e.g. Windows, macOS, Ubuntu): Ubuntu

Can also be reproduced with the dev-app in the components repo

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit der verlinkten Stackblitz-Reproduktion und vergleiche sie mit der dev-app des Komponenten-Repositorys. Reproduziere die Neupositionierung des Kontextmenüs, indem du mit der rechten Maustaste auf Lucas ipsum klickst und den Open Context Menu-Button per Hover fokussierst; abgeschlossen ist die Aufgabe, wenn das Menü an seiner ursprünglichen Position bleibt, sobald der verschachtelte Trigger per Hover fokussiert wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
frontend
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.