我有一个类似这样的离子列表:
<ion-list>
<ion-item lines="none" color="transparent" *ngFor="let conversationChatroom of conversationChatrooms" (click)="openChatroom(conversationChatroom)">
<chatroom-bloc [chatroom]="conversationChatroom"></chatroom-bloc>
</ion-item>
</ion-list>
在.ts文件中,我每5秒更新一次conversationChatroom的数组(从API获取数据以检查新的未读消息...)。
当新的数据被替换到conversationChatroom中时,列表会被刷新并自动将视图滚动到顶部。因此,例如,当用户在最后一个聊天室时(他已经滚动到底部),视图会自动滚动到顶部。
我怎样才能阻止这个卷轴?
2条答案
按热度按时间q5iwbnjs1#
我需要一个聊天应用程序相同的功能。
我使用了一个反转,每次向列表中添加消息时都重新滚动到列表的底部。
在代码中,添加:
content
是列表ID。将项目添加到列表后,调用以下命令:
以及函数本身:
动画速度设置为具有平滑效果。
qxsslcnc2#
我找到了解决方案。这是离子框架中的一个bug,有一个变通方法。在for循环中添加trackBy:trackId。
并在“组件”页面上添加以下内容
贷方:Ionic Bug report