我有数据,其中包括数以千计的项目,我希望能够显示。但是,同时显示所有项目会显著降低性能。而且,我一次只需要查看几个项目。
所以基本上,我想要的是一个像Facebook新闻提要,Twitter时间线或任何即时通讯聊天历史视图一样的东西。在所有这些例子中,最初,我只显示了几个项目,通过滚动到列表的末尾,我可以动态加载更多。
我还可以跳到提要的特定位置,比如聊天记录的某个日期和时间。提要通常不会加载和显示从现在到指定的历史位置的每一条消息,但它会跳转到该位置并显示周围的一些消息。再次,通过到达列表的(任一)末端,动态地添加更多项。
这个功能叫什么?我可以使用哪个库来实现它?
1条答案
按热度按时间nnsrf1az1#
这里有一个不需要任何第三方库的小型概念验证。
在这个例子中,数据库由从0到500的501个项目组成。
FeedEngine
负责从列表中添加/删除项目的机制。实际的站点/项目内容由itemCallback
函数管理。在这里,它被称为customItemBuilder
,并且非常简单:它只显示项目索引并改变背景颜色。这是您实际从数据库中提取特定itemIndex
的内容并相应地动态调整itemElement
的地方。在移动的上,您可以在项目中滑动。在桌面上,最好使用鼠标滚轮滚动提要。