2017-08-29 2 views
0

J'utilise les accessoires onscroll dans ma ListView pour détecter tout défilement, j'ai aussi un bouton qui vous fait défiler à une position spécifique dans la liste en utilisant this.refs.listView.scrollTo(..), mais je veux distinguer entre ces 2 types de défilement (défilement du doigt vs défilement par programmation) parce que chaque fois que je fais défiler en utilisant le bouton le onscroll a également tiré (je ne veux pas que cela se produise).React natif ListView détecter par défilement par défilement normal par programmation

Y a-t-il un moyen de distinguer ces types de défilement?

Répondre

1

Je ne connais pas de méthode intégrée pour ce faire, mais vous pouvez définir un booléen lorsque le bouton est enfoncé et l'utiliser dans votre gestionnaire onScroll pour déterminer si vous devez exécuter votre code. Vous devriez être en mesure d'obtenir la position y dans votre onScroll et, lorsqu'elle est égale à la position sur laquelle vous avez appuyé par programmation, vous pouvez réinitialiser le booléen.

+0

Merci, c'est exactement pourquoi je l'ai fait, mais je pense que ce n'est pas un bon moyen? Je préfère un construit de manière, peut-être en utilisant une propriété dans l'événement tiré de la méthode onscroll. –