angular / angular/components

bug(matMenuTriggerFor): nested menu element is activated right away if it appears above its trigger

Ouverte
#30,888 10 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
area: material/menu P4
Langage dominant
TypeScript
Étoiles
25k
Forks
6.8k
Merge moyen
1 j 8 h
PR mergées (30 j)
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

When a nested menu element appears above its trigger `mat-menu-item` it is activated right away.

### Reproduction

StackBlitz link: https://stackblitz.com/run?file=src%2Fapp%2Fmenu-nested-example.ts
Steps to reproduce:
1. Make the window small enough for the nested menu to appear above the trigger (e.g. using chrome dev tools).
2. Tap (!) the menu trigger

### Expected Behavior

The menu is opened, but the item is not activated

### Actual Behavior

The menu is opened, but closed right away with the item below the cursor activated

### Environment

- Angular: 19 (happens in earlier versions too)
- CDK/Material: 19
- Browser(s):
- Operating System (e.g. Windows, macOS, Ubuntu):
all of them

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez avec la reproduction StackBlitz dans src/app/menu-nested-example.ts et réduisez suffisamment la fenêtre pour que le menu imbriqué apparaisse au-dessus de son déclencheur. Appuyez sur le déclencheur et vérifiez que le menu s’ouvre sans se fermer immédiatement ni activer l’élément situé sous le curseur ; le fix doit préserver le comportement attendu avec les versions d’Angular et de CDK/Material concernées.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
angular, typescript
Domaine
frontend
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.