【发布时间】:2015-10-03 05:50:58
【问题描述】:
我正在创建一个与 Meteor 的基本聊天。
在我做的客户端上:
div.chat-discussion
each messages
+chatMessage
助手是
Messages.find
conversationId: t.data.conversation._id
,
sort:
createdAt: 1
所以我按照从最早到最新的顺序对聊天消息进行排序。
聊天是这样的
但是每当我发送消息时,它都不会直接添加到底部。
它被添加到顶部几毫秒,然后移动到底部。
它让用户体验感觉有问题。为什么会发生这种情况,我该如何解决?
更新
我似乎已经通过删除排序并仅在帮助程序中返回消息来解决问题,例如
Messages.find
conversationId: t.data.conversation._id
所以如果我不排序客户端,消息会自动添加到消息列表的底部而不闪烁。我不确定如何或为什么。我猜默认情况下它是按最旧的顺序排序的。
【问题讨论】:
-
有趣的问题。您的解决方案最好作为答案发布,但在浏览器之间可能不一致。你能创建一个 MeteorPad 来展示这个吗?
-
你如何在对话项上设置 created at 值?
标签: meteor meteor-blaze