2015-08-07 18 views

risposta

16

È possibile eseguire il metodo "scrollTo" di ScrollView. Guarda le fonti del componente ScrollView https://github.com/facebook/react-native/blob/master/Libraries/Components/ScrollView/ScrollView.js#L288

È possibile ottenere riferimento al componente ScrollView impostando la proprietà ref e utilizzando this.refs come descritto qui: https://facebook.github.io/react/docs/more-about-refs.html

+0

Jarek, vi ringrazio molto. Funziona molto bene Non riesco a trovare alcuna menzione di scrollTo nei documenti (https://facebook.github.io/react-native/docs/scrollview.html#content), un pò fastidioso! –

+0

Sì. I documenti sono piuttosto semplicistici (primi giorni) ma ritorna sempre al codice sorgente per react-native, in quanto è ben scritto e leggibile. –

+0

https://github.com/exponentjs/react-native-invertible-scroll-view è abbastanza buono –

18
  1. Prima aggiungere un attributo ref al componente ScrollView. Esempio: <ScrollView ref='_scrollView'>
  2. Allora dove vuoi per scorrere verso l'alto fare questo esempio: onPress={() => { this.refs._scrollView.scrollTo(0); }}
+1

Questo valore è ammortizzato, ma funziona ancora a partire da ora. – Brendan

+1

In qualche modo non funziona su Android, né questo né il nuovo scrollTo (y ?: numero, oggetto, x? Numero, animato ?: booleano). Qualche indizio perché? –

15

Un semplice esempio:

<ListView 
    ref={ref => this.listView = ref} 
    onContentSizeChange={() => { 
    this.listView.scrollTo({y: 0}) 
    }} 
/> 
1

Con un pulsante per il controllo della scrollveiw o listview in alto è possibile.

prima, è possibile utilizzare il metodo messo onScroll evento in essa per rilevare la event.nativeEvent.contentOffset.y del ListView o ScrollView, è possibile impostare uno stato di controllarlo s show or hide according to the y`.

Quindi, impostare un pulsante sulla pagina, utilizzare il metodo onPress e il metodo .scrollTo per farlo.

Ecco un'implementazione può essere utilizzato come punto di riferimento: https://www.npmjs.com/package/react-native-scrolltotop

Sperando che questo aiuta

2

scrollTo(x,y) è ora deprecato. Ora è meglio passare un oggetto a scrollTo in questo modo:

this.refs.scrollView.scrollTo({x: 0, y: 0, animated: true})

Problemi correlati