我在玩react native游戏,我被困在一个我自己都搞不懂的阶段.我有一个项目列表,我想自动滚动到一些项目.

我知道我可以使用ScrollView和contentOffset={{x:0,y:0}}以及set和offset,但是这会有点复杂,因为我需要跟踪每个项目的位置,我想知道是否有一种简单的方法来实现,这样我就可以关注ListView中的特定行.

libs上有这样的东西吗?

推荐答案

ScrollView不提供滚动到特定列表项的方法,但它提供了方法scrollTo({x, y, animated}).

如果列表项的高度相等,可以通过调用scrollTo({y:itemIndex * ROW_HEIGHT})来使用它们实现滚动到特定项.

为了能够访问ScrollView实例,需要使用ref属性回调进行捕获:

<ScrollView ref={view => this._scrollView = view} />

并在其他地方设置滚动位置:

scrollToRow(itemIndex) {
  this._scrollView.scrollTo({y:itemIndex * ROW_HEIGHT});
}

React-native相关问答推荐

对iOS通知上未显示的本机映像做出react

未执行迁移?

使用下拉菜单时react 本机react-native-dropdown-select-list,它会将下面的项目向下移动.如何阻止这种情况发生

单击react 本机时如何从同一屏幕更改内容

将值从一个 js 文件传递​​到 react native 中的另一个 js 文件:react native

错误:图片:找不到 ID 为1的assets资源 .请判断图像源或打包器

如何在 navigation.js 文件中的 react-navigation 中当前路由名称?

我们在react钩子中还需要功能性的 setState 方式吗?

React Native StackNavigator 初始路由名称

Visual Studio 2017 中的 React Native

如何在 react-native 上自动聚焦下一个 TextInput

获取没有地理位置 API React-native 的国家/城市?

如何将捕获的图像与 react-native-camera 一起使用

React Native 元素,未生成 index.ios.js 或 index.android.js

当前文件夹中的 react-native init

react-native:webview 高度

如何在android studio中导入react native元素

使用 React Native 运行 Firebase 3.0 时出错

使用行数react-native文本组件

React Native - 导航问题undefined is not an object (this.props.navigation.navigate)