angular / angular/components

menu: trigger ExpressionChangedAfterItHasBeenCheckedError aria-expanded: null in OnPush component

Đang mở
#14,440 9 bình luận 14 reaction 0 người được giao Xem trên GitHub
area: material/menu P3
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ả

#### What is the expected behavior?
Error should not occur

#### What is the current behavior?
Repeatedly and quickly clicking on menu trigger button causes error

#### What are the steps to reproduce?
[StackBlitz](https://stackblitz.com/edit/angular-stgyux)
Click on menuTrigger repeatedly -> error shows in console

#### Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 7.1.0
Angular Material 7.1.0
Chrome Browser

#### Is there anything else we should know?
ChangeDetection: OnPush

ERROR
Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'aria-expanded: true'. Current value: 'aria-expanded: null'.

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, sử dụng Angular và Angular Material 7.1.0, sau đó liên tục nhấp vào trình kích hoạt menu trong một component OnPush trong khi theo dõi console. Theo dõi các thay đổi của aria-expanded trên trình kích hoạt menu và xác định lý do giá trị được kiểm tra thay đổi thành null; hoàn thành khi bản tái hiện không còn báo cáo ExpressionChangedAfterItHasBeenCheckedError.

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
38/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.