Reactjs 如何使React原生平面列表的ListHeaderComponent具有粘性?
我有一个平面列表,故意比屏幕宽度宽 列表垂直滚动以查看每一行,并位于水平滚动视图中以访问屏幕外项目 ListHeaderComponent道具基本上是一个x轴标签,我想表现为一个“冻结的标题”;就像电子表格一样Reactjs 如何使React原生平面列表的ListHeaderComponent具有粘性?,reactjs,react-native,Reactjs,React Native,我有一个平面列表,故意比屏幕宽度宽 列表垂直滚动以查看每一行,并位于水平滚动视图中以访问屏幕外项目 ListHeaderComponent道具基本上是一个x轴标签,我想表现为一个“冻结的标题”;就像电子表格一样 如何使ListHeaderComponent具有粘性?您需要将prop设置为Flatlist作为stickyHeaderIndices={[0]} ListHeaderComponent:此道具将标题视图设置在平面列表的顶部 stickyHeaderIndices={[0]}:此道具将F
如何使ListHeaderComponent具有粘性?您需要将prop设置为
Flatlist
作为stickyHeaderIndices={[0]}
ListHeaderComponent:此道具将标题视图设置在平面列表的顶部
stickyHeaderIndices={[0]}:此道具将FlatList
0索引位置项设置为StickyHeader,您可以看到,我们已经将标题添加到FlatList
中,因此标题现在处于0索引位置,因此默认情况下,它将使标题成为StickyHeader
<FlatList
data={ this.state.FlatListItems }
ItemSeparatorComponent={ this.FlatListItemSeparator}
renderItem={ ({item}) => (
<Text
style={styles.FlatList_Item}
onPress={this.GetItem.bind(this, item.key)}> {item.key}
</Text>
)}
ListHeaderComponent={this.Render_FlatList_Sticky_header}
stickyHeaderIndices={[0]}
/>
(
{item.key}
)}
ListHeaderComponent={this.Render_FlatList_Sticky_header}
stickyHeaderIndices={[0]}
/>
stickyHeaderIndices={[0]}
将解决您的问题
item.id}
stickyHeaderIndices={[0]}
/>
此外,stickyHeaderIndices
也可以是我们想要粘贴的索引数组。您甚至可以像这样设置许多索引:
item.name}
stickyHeaderIndices={[0,6,13]}
/>
当您继续滚动平面列表时,item0将是粘性的,然后被item6、item13替换
在RN FlatList文档中找不到stickyHeaderIndices。但是你可以在源代码中找到它<代码>虚拟化列表支持它
我通常将绝对标题放置在scrollview之外,以创建粘性标题效果。你有没有Raymond的例子?我无法想象怎么做。嗨,阿尔比。我终于回到这里,你的代码工作得很好!谢谢@天哪,太好了。乐意help@ErikGrosskurth是的。你很奇怪为什么我在RN文档中找不到这个属性?嗨@RY。这真是个好信息。谢谢你能在答案中加入一个小的代码示例吗<代码>stickyHeaderIndices={[0]}已由Albi发布。让人们确切地了解你在说什么是件好事。
<FlatList
data={this.state.data}
renderItem={this.renderItem}
keyExtractor={item => item.name}
stickyHeaderIndices={[0, 6, 13]}
/>