And*_*dus 2 react-native react-native-ios
我有一个垂直FlatList组件和两个按钮TouchableOpacity,如何使用FlatList按钮执行滚动,
即“将 FlatList 滚动到底部”和“将 FlatList 滚动到顶部”?
最小示例:
<View>
<FlatList/>
<TouchableOpacity>
<Text>Scroll towards Top</>Text
</TouchableOpacity>
<TouchableOpacity>
<Text>Scroll towards Bottom</>Text
</TouchableOpacity>
</View>
Run Code Online (Sandbox Code Playgroud)
这并不难实现,<Flatlist/>组件已经有方法可以做到这一点。
scrollToEnd():滚动到内容末尾。
scrollToIndex():滚动到指定索引处的项目,例如0顶部。
我为您创建了一个简单的演示:https ://snack.expo.io/@abranhe/flatlist-scroll
\n\n我创建了一个自定义<Button/>和<Card/>组件。我正在使用这种格式的一些随机数据创建一个数组
const data = [\n { message: \'Random Message\' }, { message: \'Random Message\' }\n]\nRun Code Online (Sandbox Code Playgroud)\n\n<Flatlist/>我通过添加来添加对的引用
ref={ref => (this.flatlist = ref)}\nRun Code Online (Sandbox Code Playgroud)\n\n然后我调用这些方法就这样了。
\n\n<Button title="\xe2\x96\xbc" onPress={() => this.flatlist.scrollToEnd()} />\nRun Code Online (Sandbox Code Playgroud)\n\n
整个源码:
\n\nimport React from \'react\';\nimport { Text, View, FlatList, StyleSheet } from \'react-native\';\nimport { random } from \'merry-christmas\';\nimport Card from \'./components/Card\';\nimport Button from \'./components/Button\';\n\nconst data = [...Array(10)].map(i => ({ message: random() }));\n\nexport default () => (\n <View style={styles.container}>\n <FlatList\n ref={ref => (this.flatlist = ref)}\n data={data}\n renderItem={({ item }) => <Card gretting={item.message} />}\n />\n <View style={styles.bottomContainer}>\n <Button\n title="\xe2\x96\xb2"\n onPress={() => this.flatlist.scrollToIndex({ index: 0 })}\n />\n <Button title="\xe2\x96\xbc" onPress={() => this.flatlist.scrollToEnd()} />\n </View>\n </View>\n);\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
4094 次 |
| 最近记录: |