我正在try 使用<Flatlist />
创建React native聊天
与WhatsApp和其他聊天应用程序一样,消息从底部开始.
从API获取消息后,我调用
this.myFlatList.scrollToEnd({animated: false});
但它会在中间滚动,有时底部的项目更少,有时什么也不做.
如何在开始时滚动到底部?
我的聊天信息有不同的高度,所以我无法计算高度.
我正在try 使用<Flatlist />
创建React native聊天
与WhatsApp和其他聊天应用程序一样,消息从底部开始.
从API获取消息后,我调用
this.myFlatList.scrollToEnd({animated: false});
但它会在中间滚动,有时底部的项目更少,有时什么也不做.
如何在开始时滚动到底部?
我的聊天信息有不同的高度,所以我无法计算高度.
我也有类似的问题.如果你想让聊天信息从底部开始,你可以将"反转"设置为true,并以相反的方向显示你的信息和时间标签.
在这里查看FlatList的"反向"属性.https://facebook.github.io/react-native/docs/flatlist#inverted
如果你想让你的聊天信息从顶部开始,这就是我想要实现的.我无法在FlatList中找到解决方案,因为正如您所说,高度不同,我无法使用getItemLayout,这会使"scrollToEnd"以一种奇怪的方式运行.
我遵循@My Mai提到的方法,使用ScrollView,在setTimeout函数中执行scrollToEnd({animated:false}).除此之外,我不会添加任何内容,直到用户完成滚动.