ListView总是在react-native中滚动回到顶部

Var*_*pta 4 react-native react-native-listview

react-native用于iOS移动应用程序,我用它ListView来显示警报列表.我创建了自己的可重用列表视图组件,ComponentListView在其中我可以传入我想在每行中呈现的组件和列表视图的数据.如果我有很多闹钟,我向下滚动查看最后的闹钟,它总是滚动到顶部(请参阅下面有关症状的rnplay上的示例应用程序)因此我最终无法对闹钟进行操作.我认为它可能与我如何创建ComponentListView组件有关,因为如果我只是使用一个简单的ListView组件,它按预期工作但我需要使用ComponentListView组件,因为我有许多不同的屏幕,我必须显示一个包含不同组件的列表它简化了我的工作.

我在rnplay上创建了一个示例应用程序来显示这些症状.请在iOS上运行.下面AlarmList是使用ComponentListView显示报警的列表,并AlarmSummary为每行中显示的组件.

rnplay上的示例应用程序

我尝试使用ComponentListView的render方法中的一些控制台日志语句来调试它,以检查组件是否在滚动时一次又一次地重新渲染,但似乎并非如此.我也尝试在Chrome调试器中调试,但我有点想法,不知道如何/在哪里调试.

如果您有任何指示可以解决问题,请告诉我.

Che*_*niv 7

赋予flex: 1属性sceneContainer也,如:

sceneContainer: {
  flex: 1,
  marginTop: 60
},
Run Code Online (Sandbox Code Playgroud)

在这里工作:https://rnplay.org/apps/TL9N9g

  • @VarunGupta,来自docs:*为了限制ScrollView的高度,可以直接设置视图的高度(不鼓励),也可以确保所有父视图都具有有界高度.忘记在视图堆栈中传递{flex:1}可能会导致错误,元素检查器可以轻松调试.*,链接:http://facebook.github.io/react-native/releases/0.25/docs /scrollview.html#content (3认同)