列表视图.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
列表视图

列表视图 列表视图——为变化的数据列表的垂直滚动的高效显示而设计的一个核心组件。最小 的 API 是 建一个 ListView.DataSource ,用一个简单的数组数据的 blob 填 充,并用那个数据源实例化一个 ListView 组件和一个 renderRow 回调,它会从 数组数据中带走一个 blob 并返回一个可渲染的组件。 最小的例子: getInitialState: function() { var ds = new ListView.DataSource({rowHasC anged: (r1, r2) = r 1 !== r2}); return { dataSource: ds.cloneWit Rows([row 1, row 2]), }; },render: function() { return ( ListView dataSource={t is.state.dataSource} renderRow={(rowData) = Text{rowData}/Text} / ); }, 列表视图还支持更高级的功能,包括带有 sticky 页眉的部分,页眉和页脚的支持, 回调到可用数据的最后(onEndReac ed )和设备窗口变化中可见的行集 (onChangeVisibleRows),以及一些性能优化。 当动态加载一些可能非常大(或概念上无限大的)数据集时,为了让列表视图滚送的顺 畅,有一些性能操作设计: 只有重新呈现改变行——提供给数据源的 hasRowChanged 函数告诉列表视 图是否需要重新呈现一行,因为源数据发生了变化——更多细节请看 ListViewDataSource。 行限速呈现——默认情况下,每次事件循环时,只显示一行 (可用 pageSize 道具定制)。这将工作分解为小块,在呈现行时,减少框架下降的机会。 Pro s Edit on GitHub ScrollView props... dataSource 列表视图数据源 initialListSize 数字型 多少行呈现在初始组件装置中。使用这个来实现,这样第一个屏幕需要的数据就会一 次出现,而不是在多个框架的过程中出现。 onChangeVisibleRows 函数型 (visibleRows, changedRows) = void 当可见的行集改变时调用。visibleRows 为所有可见的行映射 { sectionID: { rowID: true }} ,c angedRows 为已经改变了它们可见性的行映射 { sectionID: { rowID: true | false }} ,true 表明行可见,而 false 表明行已 经从视图中被删除了。 onEndReached 函数型 当所有行已经呈现并且列表被滚动到了 onEndReachedThreshold 的底部时被调 用。提供了 native 滚动事件。 onEndReachedThreshold 数字型 onEndReached 像素的阈值。 pageSize 数字型 每次事件循环显示的行的数量。 removeClippedSubviews 布尔型 为提高大型列表滚动性能的实验性能优化,与溢出一起使用:“隐藏”在行容器中。使 用时自己承担风险。 renderFooter 函数型 () = renderable 页眉和页脚在每个呈现过程中都会出现(如果提供了这些道具)。如果重新呈现它们耗 费很大,那就把它们包在 StaticContainer 或其他适当的机制中。在每一个呈现过 程中,页脚始终是在列表的底部,页眉始终在列表的顶部。 renderHeader 函数型 renderRow 函数型 (rowData, sectionID, rowID) = renderable 需要从数据源和它的 id 取走一个 数据条目,并返回一个可渲染的作为行呈现的组件。默认的情况下,数据正是被放入 了数据源的东西,但也可以提供自定义的提取器。 renderSectionHeader 函数型 (sectionData, sectionID) = renderable 如果提供了该函数,那么本节的 sticky 页眉就会呈现。Sticky 行为意味着它将带着 本节顶部的内

文档评论(0)

aena45 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档