feat(cdk/scrolling): ScrollToIndexIfNeeded function
- Langage dominant
- TypeScript
- Étoiles
- 25k
- Forks
- 6.8k
- Merge moyen
- 1 j 8 h
- PR mergées (30 j)
- 91
Description
#### 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!
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par CdkVirtualScrollViewport, en particulier avec les points d’entrée existants scrollToIndex et getRenderedRange. Déterminez comment une plage visible pourrait être exposée ou utilisée pour éviter les défilements inutiles, y compris le cas d’utilisation demandé au milieu du viewport. Le travail est considéré comme terminé lorsque le viewport ne peut faire défiler jusqu’à un index que lorsque celui-ci se trouve en dehors du viewport visible.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- angular, typescript
- Domaine
- frontend
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100