我尝试在我的本机应用程序中始终滚动到我的平面列表的底部,但遗憾的是我没有得到对该平面列表的引用。
this.flatList.scrollToEnd();
在渲染函数中,我尝试调用方法scrollToEnd()
ref = {"flatlist"}
我在
的平面列表中尝试过它ref = "flatlist"
或
SELECT (amount(when outcome is false) - amount(when outcome is true)) AS income
FROM transaction WHERE (the condition I was unable to write);
但是他们都没有工作我总是得到错误: TypeError:无法读取未定义的属性'scrollToEnd'。
您可以在此处找到完整的代码:this answer
答案 0 :(得分:1)
您必须使用引用,因此它将是this.refs.flatlist.scrollToEnd()
您还可以添加动画可选参数:
this.refs.flatlist.scrollToEnd({animated: true });
对于声明,我个人这样做:
ref='flatlist'
然后你必须用这个函数调用方法(不是在渲染中,因为它将在第一个完整的渲染之后首先声明,因为它将获得引用):
答案 1 :(得分:1)
您需要从引用访问FlatList以调用方法scrollToEnd()
this.refs.flatlist.scrollToEnd({animated: true });
将您的代码this.flatList.scrollToEnd();
更改为this.refs.flatlist.scrollToEnd();
它适合你。
答案 2 :(得分:0)
就像Clad Clad告诉我的那样,我在渲染方法中使用了它,当然flatlist元素目前还不存在。 谢谢! :-)
答案 3 :(得分:0)
您应将ref={(ref) => { this.listRef = ref; }}
道具授予“平面列表”。