angular / angular/components

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

Đang mở
#27,983 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
area: material/datepicker P4
Ngôn ngữ chính
TypeScript
Star
25k
Fork
6.8k
Merge trung bình
1 ngày 8 giờ
Pull request đã merge (30 ngày)
91

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với bản tái hiện StackBlitz được liên kết và lần theo đường đi cập nhật giá trị của datepicker bằng reactive-forms trong Angular Material components repository. Xác nhận hành vi khi đặt một giá trị bên trong valueChanges, sau đó thêm một regression test cho thấy input UI khớp với giá trị đã cập nhật của form-control.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
angular, typescript
Lĩnh vực
frontend
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.