以编程方式将本机滚动反应到列表视图项

时间:2017-05-03 08:54:26

标签: listview scroll react-native

我有一个水平ListView,ListView的每个项目占据整个宽度和高度,第二个项目相同等等(它就像一个水平分页),实现之后我想以编程方式滚动到下一个项目,所以我禁用了滚动scrollEnabled={false}现在我想以编程方式(在触发事件之后)滚动到下一个项目(页面),这个的任何提示或想法?

UPD

这是由scrollTo:scrollTo is not defined

引起的错误
<Button title="Learn More"
  onPress = {(ev)=>{
     scrollTo(0, 1000)
  }}></Button>

1 个答案:

答案 0 :(得分:2)

<强> 1。尝试获取滚动视图的参考

我就是这样做的:

render(){
  let _listView: ListView;
  return (          
      <ListView ref={(listView) => { _listView = listView; }}
            dataSource={this.state.dataSource}
            renderRow={this._renderRow.bind(this)}
      />
  )
}

<强> 2。使用_listView变量并调用scrollTo方法。

请注意,您在箭头函数和上面的代码中使用它,_listView变量位于render方法内。因此,您可以在构造函数中创建它,然后将其用作类属性。

像这样:

constructor() {
  this._listView = {};
}

(请注意,这是一个示例初始化,我不知道你在哪里使用那个按钮,所以可能这第二点不是必需的,甚至是错误的,所以一切都可以在render方法中完成。)