Как я могу прокрутить верхнюю часть кнопки onPress в реагировать на родной?

Я добавил кнопку внизу простого экрана и хочу прокручивать верхнюю часть всякий раз, когда нажимаю кнопку. какой код добавить на кнопку onPress?, подскажите, пожалуйста, какое-либо решение, заранее спасибо.

3 ответа

Решение

Я предполагаю, что вы используете ScrollView на своей странице, так как вы хотите прокручивать вверх при каждом нажатии кнопки внизу. В этом случае вы можете использовать scrollTo({x: 0, y: 0, animated: true}) метод ScrollView, Вы можете вызвать функцию перед методом рендеринга следующим образом:

goToTop = () => {
   this.scroll.scrollTo({x: 0, y: 0, animated: true});
}
render() {
 return (
  <ScrollView
    ref={(c) => {this.scroll = c}}
  >
    // [rest of your code here...]
    <Button title='Go To Top' onPress={this.goToTop} />
  </ScrollView>
 )
}

В основном, вы должны создать ссылку (ref) в свой scrollView, а затем вы можете вызвать его метод в любом месте вашего кода.

В случае, если вы не используете ScrollView, но вместо этого вы используете компонент Flatlist, он также имеет метод, представленный через его refназывается scrollToOffset().

В React Native для функционального компонента необходимо выполнить следующие действия, чтобы прокрутить верхнюю часть в ScrollView-

1. Определите глобально в функциональном компоненте:- const scroll = React.createRef();

  1. затем добавьте:- ref={scroll} в ScrollView.

3. Наконец, при нажатии добавьте:- scroll.current.scrollTo(0); // прокрутим вверх в позиции y 0

// const scroll = React.createRef();

если вы получаете ошибку, что scroll.current равен Null, попробуйте это

const scroll = React.useRef();

Это сработало в моем случае.

Другие вопросы по тегам