angular / angular/components

bug(cdk/listbox): using scrollbar with mouse breaks

Đang mở
#30,900 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
area: cdk/listbox 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ả

### Is this a regression?

- [ ] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

_No response_

### Description

When using the cdk listbox on a list that scrolls, the listbox and scroll position behaves weird if that scrollbar is operated with a mouse. The behavior gets worsed if a value is selected.
Operated by mouse means either:
- clicking on the little arrows in that scrollbar
![Image](https://github.com/user-attachments/assets/122a6579-3a13-41a4-b595-ead2c72a33e0)
- clicking on a blank space within that scrollbar
![Image](https://github.com/user-attachments/assets/fa5229c2-6466-43ce-a5db-9ada9555d432)

I think there was recently a similar issue in the menu: https://github.com/angular/components/pull/30249

### Reproduction

StackBlitz link: Also broken in your docs at https://material.angular.io/cdk/listbox/examples
Steps to reproduce:
1. Got to example `Listbox with forms validation.`
2. Select option `Rat`
3. Click the down arrow two times in the scrollbar / or two times at a blank location

### Expected Behavior

It should just scroll normally.

### Actual Behavior

First click scrolls, at second click it jumps back to the top.

### Environment

- Angular: 19 / and the version your docs use
- CDK/Material: 19 / and the version your docs use
- Browser(s): Chrome
- Operating System (e.g. Windows, macOS, Ubuntu): Linux / Mac

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 ví dụ listbox của CDK `Listbox with forms validation` trong tài liệu Angular Material và tái hiện sự cố bằng cách chọn `Rat`, sau đó nhấp vào thanh cuộn hai lần. So sánh hành vi với thay đổi menu liên quan trong PR 30249. Hoàn tất khi các lần nhấp vào thanh cuộn tiếp tục cuộn bình thường mà không nhảy lên đầu, kể cả sau khi một giá trị được chọn.

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.