feat(cdk/scrolling): ScrollToIndexIfNeeded function
- 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ả
#### Feature Description
We have `scrollToIndex` function on `CdkVirtualScrollViewport`. But we cannot determine whenever an index is or is not withing **visible** viewport.
```ts
const viewPort: CdkVirtualScrollViewport;
scrollToIndex(index: number): void {
const range = viewPort.getRenderedRange();
if (range.start > index || range.end < index) {
// Scroll is 100% needed.
viewPort.scrollToIndex(index, 'auto');
} else {
// The index is within range, but not necessarily within visible viewport!
// From my testing I have +-8 items above and bellow at the time
}
}
```
#### Use Case
It would enable scrolling to an item if only needed.
#### Note
If there was `CdkVirtualScrollViewport.getVisibleRange`, we could even scroll our desired element to the middle of the viewport!
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với CdkVirtualScrollViewport, đặc biệt là các entry point hiện có là scrollToIndex và getRenderedRange. Xác định cách một phạm vi hiển thị có thể được cung cấp hoặc sử dụng để tránh việc cuộn không cần thiết, bao gồm cả trường hợp sử dụng ở giữa viewport được yêu cầu. Hoàn thành khi viewport chỉ có thể cuộn đến một index nếu index đó nằm ngoài viewport hiển thị.
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
- Tính năng
- Độ 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