angular / angular/components

bug(CDK Overlay): cdkConnectedOverlay ConnectedPosition not correctly calculated after scrolling on mobile browser

Đang mở
#23,037 1 bình luận 4 reaction 0 người được giao Xem trên GitHub
area: cdk/overlay needs investigation 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ả

The ConnectedPositions for a cdkConnectedOverlay are not correctly calcullated when browsing and scrolling on a mobile browser. The mobile devices are hiding the address bar when you scroll down. This results in a change of the viewport sizes. If you open a cdkConnected overlay after scrolling it's position is at the wrong location.

#### Reproduction

https://stackblitz.com/edit/components-issue-mbxfr2

Steps to reproduce:
1. Create a component with cdkConnectedOverlay
2. Add it to your application
3. Browse to your angular app on a mobile device a
4. Open the overlay -> this should be correct positioned
5. Scroll down (the browser hides the address bar)
6. Overlay position is on wrong location

#### Expected Behavior

The connected overlay should be on the correct position after scrolling on a mobile device

#### Actual Behavior

The position of the overlay is calculated wrong and displayd at the wrong position.

The position of the overlay with the address bar (as expected)
![Screenshot_20210622-150122_Chrome](https://user-images.githubusercontent.com/78798355/122936977-e4e65e80-d371-11eb-81db-b9dcfa474cb4.jpg)

The position of the overlay without the address bar, after scrolling (not as expected)
![Screenshot_20210622-150129_Chrome](https://user-images.githubusercontent.com/78798355/122936983-e57ef500-d371-11eb-958e-ea24497869b5.jpg)

#### Environment
- Angular: 12
- CDK/Material: 12
- Browser(s): Chrome Android, Safari IOS
- Operating System: IOS, Android

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à entry point định vị cdkConnectedOverlay của CDK. Tái hiện vấn đề trên Chrome Android hoặc Safari iOS bằng cách mở overlay, cuộn để ẩn thanh địa chỉ, rồi mở lại overlay. Hoàn tất khi connected overlay vẫn được định vị chính xác sau khi viewport trên thiết bị di động thay đổi.

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.