APSL / react-native-keyboard-aware-scroll-view

A ScrollView component that handles keyboard appearance and automatically scrolls to focused TextInput.
MIT License
5.24k stars 643 forks source link

How to scroll multiple elements into view instead of just the focused input? #579

Open theianjohnson opened 1 month ago

theianjohnson commented 1 month ago

I've read through the readme and the issues that seem relevant, but three years later and not using class components how do we do this without needing this? I'm programmatically focusing on a textInput nameInputRef?.current?.focus(); so I don't have the event param for a target.

Trying to cobble the readme together with this https://github.com/APSL/react-native-keyboard-aware-scroll-view/issues/451, but so far no luck

_scrollToInput (reactNode: any) {
  // Add a 'scroll' ref to your ScrollView
  this.scroll.props.scrollToFocusedInput(reactNode)
}

<KeyboardAwareScrollView
  innerRef={ref => {
    this.scroll = ref
  }}>
  <View>
    <TextInput
      onFocus={(event: Event) => {
        // `bind` the function if you're using ES6 classes
        this._scrollToInput(ReactNative.findNodeHandle(event.target))
      }}
    />
  </View>
</KeyboardAwareScrollView>