I'm developing an app using React Native. There, I want to scroll into a View when I press a button. I've tried something like this.
render() {
return(
<View ref={field => this.myView = field} >
//something inside the view
</View>
)
}
then, tried
this.myView.focus()
But, it doesn't work.
I want to get the result as shown in the following GIF demo. How to do this?

You should store ScrollView ref and use scrollViewRef.scrollTo()
render() {
return(
<ScrollView ref={ref => this.scrollViewRef = ref}>
<View
// you can store layout for each of the fields
onLayout={event => this.layout = event.nativeEvent.layout}
>
// some field goes here
</View>
</ScrollView>
)
}
And then when an error occurs just scroll to your field this.scrollViewRef.scrollTo({ y: this.layout.y, animated: true });.
Update: a working example can be found in this repo.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With