繁体   English   中英

React-Native SectionList在Android上滚动到视图之外的项目

[英]React-Native SectionList scroll to item out of view on Android

对于我正在进行的项目,我需要创建一个组件,用户可以在其中向状态中添加条目,以及用于显示这些条目的SectionList 此外,我需要SectionList在输入后立即向下滚动到最新条目。 请查看这个小吃的例子

添加新条目后,列表本身会显示所有条目和更新,但是一旦列表包含的内容超出了屏幕可以显示的范围,它只能向下滚动到倒数第二个,我真的需要滚动到最后一个。

我尝试了很多东西,包含等待setState,定义contentContainerStyle,将整个事物转换为VirtualizedListScrollView ,我能想到的一切,但我根本无法让它滚动到最后一个条目。

问题:如何让我的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM