angular / angular/components

bug(Datepicker): setting value inside valueChanges doesn't update the UI

Ouverte
#27,983 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
area: material/datepicker 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?

I don't know if this was working at some point or not

### Description

I am using reactive forms to get/set values from a datepicker and I noticed that if I set a date manually, inside the valueChanges event based on some condition, the value of the form control updates, but not the UI.

The UI changes however if you remove the input and manually set a value inside valueChanges.

### Reproduction

StackBlitz link: https://stackblitz.com/edit/qpu5ns
Steps to reproduce (1):
(1*. Select any date - optional)
1. Select the 10th of any month
2. Check date displayed in input vs date printed under the input

### Expected Behavior

We have the same date in the input as printed below the input

### Actual Behavior

The date in the input is the date selected using the datepicker, the date below the input is the date set inside valueChanges

### Environment

Browser: Chrome
(From the stackblitz environment)
Angular CLI: 16.1.0
Node: 18.18.0
Package Manager: yarn 1.22.19
OS: linux x64

Angular: 16.1.1
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

| Package | Version |
|--------|--------|
| @angular-devkit/architect | 0.1601.0 |
| @angular-devkit/build-angular | 16.1.0 |
| @angular-devkit/core | 16.1.0 |
| @angular-devkit/schematics | 16.1.0 |
| @angular/cdk | 16.2.9 |
| @angular/cli | 16.1.0 |
| @angular/material | 16.2.9 |
| @angular/material-moment-adapter | 16.2.9 |
| @schematics/angular | 16.1.0 |
| rxjs | 7.4.0 |
| typescript | 5.0.3 |

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par la reproduction StackBlitz liée et suivez, dans le Angular Material components repository, le chemin de mise à jour de la valeur du datepicker via reactive-forms. Confirmez le comportement lorsqu’une valeur est définie dans valueChanges, puis ajoutez un test de régression montrant que l’input UI correspond à la valeur mise à jour du form-control.

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é
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.