angular / angular/components

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

Aperta
#27,983 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
area: material/datepicker P4
Lingua principale
TypeScript
Stelle
25k
Fork
6.8k
Merge medio
1g 8h
PR unite (30g)
91

Descrizione

### 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 |

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia dalla riproduzione collegata in StackBlitz e traccia nel Angular Material components repository il percorso di aggiornamento del valore del datepicker tramite reactive-forms. Conferma il comportamento quando si imposta un valore all’interno di valueChanges, quindi aggiungi un test di regressione che mostri che la input UI corrisponde al valore aggiornato del form-control.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
angular, typescript
Ambito
frontend
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.