angular / angular/components

bug(mat-form-field): mat-label incorrectly displayed at init (behavior possible)

Ouverte
#26,833 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
area: material/form-field 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

Sometimes, when the component mat-form-field is initied too fastly, when we use mat-icon with the attribute matPrefix or matSuffix, the mat-label is misplaced only at the init of the entire component.

A possible behavior can be to initialize the mat-form-field with setTimeout at 100ms or more after the component loaded on ngOnInit().
But, when using ReactiveFormsModule, an error (NG01050: formControlName must be used with a parent formGroup directive) can still be present but the forms works **normally.**

### Reproduction

Steps to reproduce:
1. Create a mat-form-field
2. Add a mat-label to this one
3. Add a trailling mat-icon with matPrefix or matSuffix

### Expected Behavior

The mat-icon and mat-label must be placed normally, means the icon must be before the mat-label for example.

### Actual Behavior

The label must be placed after the icon for matSuffix but only at init he is misplaced above or below the mat-icon. The mat-label works normally after he is focused.

### Environment

- Angular: Angular 15.0.0
- CDK/Material: 15.2.2
- Browser(s): Brave, Edge
- Operating System (e.g. Windows, macOS, Ubuntu): Windows

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par reproduire le cas d’initialisation avec Angular Material mat-form-field, mat-label, mat-icon et matPrefix ou matSuffix, y compris le scénario ReactiveFormsModule décrit. Examinez l’initialisation de mat-form-field et le moment d’exécution de ngOnInit, puis vérifiez que l’icône et le libellé sont correctement positionnés au premier rendu, sans l’erreur formControlName signalée.

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é
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
32/100

Recevez les nouvelles issues par e-mail

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