ListView吸顶效果
问题:
在React Native 中,ScorllView组件可以使用stickyHeaderIndices 轻松实现sticky 效果。而使用ListView组件时,使用 stickyHeaderIndices 则不生效。
如何实现滚动时每个section header 会吸顶
在ListView中要实现sticky,需要使用 cloneWithRowsAndSections 方法,将 dataBlob(object),sectionIDs(array),rowIDs(array)三个值传进去。
1、dataBlob
dataBlob 包含ListView所需的所有数据(section header 和 rows),在ListView渲染数据时,使用getSectionData 和 getRowData 来渲染每一行数据。dataBlob 的 key 值包含 sectionID + rowId
2、sectionIDs
sectionIDs 用于标识每组section
3、rowIDs
rowIDs 用于描述每个section 里的每行数据的位置及是否需要渲染。在ListView渲染时,会先遍历rowIDs 获取对应的 dataBlob 数据。