angular / angular/components

bug(material/datepicker): Adding a max to a datepicker input will fire valueChanges

Aperta
#26,872 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

### Documentation Feedback

Currently the [documentation ](https://angular.io/api/forms/AbstractControl#valueChanges)only says that valueChanges will fire 'every time the value of the control changes' or 'each time you call enable() or disable()' however, I've also found valueChanges to fire if two inputs with datepickers rely upon one another for min and max.

My scenario is a period that has a start and end date. The start date cannot be after the end date, similarly the end date cannot be before the start. So basically my two form fields look like this:

```

```
and
```

```

What I've found is that the valueChanges of startDate will emit whenever the endDate is changed because of the startDate max.

It doesn't seem obvious in the documentation that setting the mib or max will cause the value of the control to change.

Here's a [stackblitz](https://stackblitz.com/edit/reactive-form-validation-angular-15-swfz9e?file=src/app/app.component.html).

Steps to reproduce:

1: Select a start date and see that its value is logged to the console via the valueChanges subscription on startDate.
2: Now make a change to the endDate field and note that the startDate valueChanges emits again.
3: Remove the [max]="period.get('endDate')?.value" from the startDate input and notice that the issue goes away.

### Affected documentation page

https://angular.io/api/forms/AbstractControl#valueChanges

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia dalla pagina di documentazione interessata di AbstractControl.valueChanges e riproduci lo scenario StackBlitz collegato. Verifica che la modifica di min/max del datepicker faccia emettere un evento al controllo correlato, quindi aggiorna la documentazione per descrivere questo comportamento; il lavoro è completato quando la pagina copre accuratamente il caso segnalato.

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

Valutazione

Stack tecnologico
angular, typescript
Ambito
documentation
Tipo di issue
Documentazione
Difficoltà
2/5
Tempo stimato
1-3 ore
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.