gpt4 book ai didi

react-native - 更新 Flatlist 数据后的 ScrollToEnd

转载 作者:行者123 更新时间:2023-12-03 04:21:30 24 4
gpt4 key购买 nike

我正在使用 Flatlist 制作一个聊天框。我想向数据添加一个新项目,然后滚动到列表底部。我使用 scrollToEnd 方法,但它不起作用。我怎样才能做到这一点?

<FlatList
ref="flatList"
data={this.state.data}
extraData = {this.state}
renderItem={({item}) => <Text style={styles.chatFlatListItem}>{item.chat}</Text>}
/>

AddChat(_chat){
var arr = this.state.data;
arr.push({key: arr.length, chat: _chat});
var _data = {};
_data["data"] = arr;
this.setState(_data);
this.refs.flatList.scrollToEnd();
}

最佳答案

我找到了一个更好的解决方案,scrollToEnd() 不起作用,因为它是在对 FlatList 进行更改之前触发的。
由于它继承自 ScrollView,因此最好的方法是在 onContentSizeChange 中调用 scrollToEnd(),如下所示:

<FlatList
ref = "flatList"
onContentSizeChange={()=> this.refs.flatList.scrollToEnd()} />

关于react-native - 更新 Flatlist 数据后的 ScrollToEnd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46304677/

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