angular / angular/components

feat(cdk/scrolling): ScrollToIndexIfNeeded function

Ouverte
#21,522 3 commentaires 3 réactions 0 personnes assignées Voir sur GitHub
area: cdk/scrolling feature P3
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.