[英]React-Native SectionList scroll to item out of view on Android
对于我正在进行的项目,我需要创建一个组件,用户可以在其中向状态中添加条目,以及用于显示这些条目的SectionList
。 此外,我需要SectionList在输入后立即向下滚动到最新条目。 请查看这个小吃的例子
添加新条目后,列表本身会显示所有条目和更新,但是一旦列表包含的内容超出了屏幕可以显示的范围,它只能向下滚动到倒数第二个,我真的需要滚动到最后一个。
我尝试了很多东西,包含等待setState,定义contentContainerStyle,将整个事物转换为VirtualizedList
和ScrollView
,我能想到的一切,但我根本无法让它滚动到最后一个条目。
问题:如何让我的SectionList滚动到最后一个项目,该项目当前超出了SectionList组件的范围?
更新我知道这个问题是由调用scrollToLocation时尚未包含该项的SectionList
引起的。 解决方案的关键似乎是等待重新呈现列表
更新2 SetState有一个回调,也没有解决这个问题。 但是, 此评论中的解决方案有效。 它的问题是它只能在.js文件中工作,我在我的项目中使用.tsx文件。 我怎么能克服这个?
显然这是React-Native 0.59.6中的一个错误。
在android上,当在setState
的完成块中工作时,需要设置0.2秒的超时,之后,SectionList将一直向下滚动。 然而,应该在那里的物品还没有渲染,有时会在0.5秒后出现,导致一种非常笨重的感觉。
我在这里发布了一个问题,希望很快就会修复
我认为这个问题比你的风格简单得多。
您要求列表具有height: Dimensions.get('window').height - 50
但是此行不执行任何操作,因为您无法修复SectionList的高度。
所以你可以删除它并添加一个边距:
list: {
top: 50,
marginBottom: 50,
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.