gpt4 book ai didi

react-native - React Native - 在 FlatList 之外触发 FlatList 的滚动

转载 作者:行者123 更新时间:2023-12-01 21:55:45 38 4
gpt4 key购买 nike

我有一个垂直的 FlatList 组件和两个按钮作为 TouchableOpacity,我如何使用按钮执行 FlatList 的滚动,

即“将 FlatList 滚动到底部”和“将 FlatList 滚动到顶部”?

最小的例子:

<View>
<FlatList/>
<TouchableOpacity>
<Text>Scroll towards Top</>Text
</TouchableOpacity>
<TouchableOpacity>
<Text>Scroll towards Bottom</>Text
</TouchableOpacity>
</View>

最佳答案

这不难做到,<Flatlist/>组件已经有方法来做到这一点。

我为您创建了一个简单的演示:https://snack.expo.io/@abranhe/flatlist-scroll

我创建了一个自定义 <Button/><Card/>成分。我正在用这种格式创建一个包含一些随机数据的数组

const data = [
{ message: 'Random Message' }, { message: 'Random Message' }
]

我正在添加对 <Flatlist/> 的引用通过添加

ref={ref => (this.flatlist = ref)}

然后我调用方法,就是这样。

<Button title="▼" onPress={() => this.flatlist.scrollToEnd()} />

完整源码:

import React from 'react';
import { Text, View, FlatList, StyleSheet } from 'react-native';
import { random } from 'merry-christmas';
import Card from './components/Card';
import Button from './components/Button';

const data = [...Array(10)].map(i => ({ message: random() }));

export default () => (
<View style={styles.container}>
<FlatList
ref={ref => (this.flatlist = ref)}
data={data}
renderItem={({ item }) => <Card gretting={item.message} />}
/>
<View style={styles.bottomContainer}>
<Button
title="▲"
onPress={() => this.flatlist.scrollToIndex({ index: 0 })}
/>
<Button title="▼" onPress={() => this.flatlist.scrollToEnd()} />
</View>
</View>
);

关于react-native - React Native - 在 FlatList 之外触发 FlatList 的滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57397669/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com