angular / angular/components

bug(mat-radio-group): Programmatic changes are not reflected in the form model

Đang mở
#24,546 3 bình luận 1 reaction 0 người được giao Xem trên GitHub
area: material/radio 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ả

### Description

When setting `value` on `matRadioGroup`, the visually selected radio button updates, but the form model does not.

Looking at the material source code, the form model is only updated (via `_controlValueAccessorChangeFn`) via the radio input's `change` event. Is this intentional?

### Reproduction

See Stackblitz: https://stackblitz.com/edit/angular-ivy-hpd53z?file=src%2Fapp%2Fapp.component.ts

Steps to reproduce:
1. Select a radio button by clicking it - observe that the form model updates accordingly
2. Select a radio button that is not green
3. Click the 'Force Green' button, which programmatically sets the `value` to green

### Expected Behavior

The `color` value in the form model updates

### Actual Behavior

The `color` value in the form model does not update

### Environment

- Angular: 13.2.0
- CDK/Material: 13.2.5
- Browser(s): Chrome
- Operating System: Windows

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à mã nguồn mat-radio-group được mô tả trong issue, theo dõi cách các thay đổi giá trị theo chương trình đến được model của form. Hoàn tất khi việc đặt giá trị của group thành green cập nhật giá trị color của model form, đồng thời hành vi click hiện có vẫn tiếp tục hoạt động.

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ó
3/5
Thời gian dự kiến
1-2 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
45/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.