Quand j'exécute onPress dans le composant TodoItem, je veux que scrollTo soit exécuté et fasse défiler jusqu'à y: height value mais si je lance onPress node.scrollTo n'est pas une fonction << cette erreur se produit ceci ...

1
user15322469 16 mars 2021 à 21:16

2 réponses

Meilleure réponse

À partir du code source Github de FlatList, je ne peux voir que 4 méthodes qui aident à la fonctionnalité scroll : -

scrollToEnd(params?: ?{animated?: ?boolean, ...})
scrollToIndex(params: {
    animated?: ?boolean,
    index: number,
    viewOffset?: number,
    viewPosition?: number,
    ...
  })
scrollToItem(params: {
    animated?: ?boolean,
    item: ItemT,
    viewPosition?: number,
    ...
  })
scrollToOffset(params: {animated?: ?boolean, offset: number, ...}) 

Je pense que vous devez utiliser l'un ou l'autre des éléments ci-dessus (puisque FlatList n'implémente pas son propre scrollTo). Je peux voir l'utilisation de scrollTo à l'intérieur de VirtualizedList qui est renvoyée en interne par FlatList.

Lien vers le code source - https: // github. com / facebook / react-native / blob / master / Bibliothèques / Listes / FlatList.js

1
Lakshya Thakur 16 mars 2021 à 18:57

Pouvez-vous essayer d'utiliser quelque chose comme ceci:

Node.scrollIntoView ({comportement: 'smooth', block: 'start'})

0
Ankur Munjaal 16 mars 2021 à 18:49