Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Listview 突出显示/滚动到-列表视图,在本机上滚动视图_Listview_Scrollview_React Native - Fatal编程技术网

Listview 突出显示/滚动到-列表视图,在本机上滚动视图

Listview 突出显示/滚动到-列表视图,在本机上滚动视图,listview,scrollview,react-native,Listview,Scrollview,React Native,我在玩react native游戏,我被困在一个我自己都无法理解的阶段。我有一个项目列表,我想自动滚动到一些项目 我知道我可以使用ScrollView和contentOffset={{x:0,y:0}}以及set和offset,但是这会有点复杂,因为我需要跟踪每个项目的位置,我想知道是否有一种简单的方法来实现它,这样我就可以关注ListView中的特定行 libs上有这样的功能吗?ScrollView不提供滚动到特定列表项的方法,但它提供了滚动到({x,y,animated})的方法 如果列表项

我在玩react native游戏,我被困在一个我自己都无法理解的阶段。我有一个项目列表,我想自动滚动到一些项目

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


libs上有这样的功能吗?

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

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

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

<ScrollView ref={view => this._scrollView = view} />
我已经发布了一个库,它为React Native ScrollView启用了“scrollIntoView”功能


对于其他列表,如SectionList,您仍然可以使用其他答案中提到的项目索引。

好问题,我也很想听听解决方案,我刚刚遇到了这个问题。看看它,让我知道它是否有用谢谢克里斯的提示!谢谢@jevakillio,我会试试。但是如果你的行高度可变怎么办?@chandlervdw可能是你可以用来测量位置,或者测量所有前几行的高度到你想要的屏幕上的高度,然后把它们加起来。(我知道这条评论来自>1年前,但这显示在谷歌上)我刚刚发现SectionList确实有一个scrollToLocation,它接收节和项的索引。ListView没有这个,我不知道为什么。可能您可以使用SectionList,只包含一个节,并将其渲染为“无”,然后使用此方法。当然它不是很优雅,但是它可能比其他任何东西都好,因为可变高度的行()参数已更改,更新了答案这是一个更好的解决方案,用于ScrollView中具有可变高度的项目。出色的解决方案!
scrollToRow(itemIndex) {
  this._scrollView.scrollTo({y:itemIndex * ROW_HEIGHT});
}