浏览代码

修复会话抖动的bug

xie.bx 3 年之前
父节点
当前提交
79e29b41ed
共有 1 个文件被更改,包括 11 次插入2 次删除
  1. 11 2
      im-ui/src/store/chatStore.js

+ 11 - 2
im-ui/src/store/chatStore.js

@@ -11,6 +11,7 @@ export default {
 		},
 		openChat(state, chatInfo) {
 			let chat = null;
+			let activeChat = state.activeIndex>=0?state.chats[state.activeIndex]:null;
 			for (let i in state.chats) {
 				if (state.chats[i].type == chatInfo.type &&
 					state.chats[i].targetId === chatInfo.targetId) {
@@ -35,7 +36,15 @@ export default {
 				};
 				state.chats.unshift(chat);
 			}
-
+			// 选中会话保持不变
+			if(activeChat){
+				state.chats.forEach((chat,idx)=>{
+					if(activeChat.type == chat.type
+					&& activeChat.targetId == chat.targetId){
+						state.activeIndex = idx;
+					}
+				})
+			}
 		},
 		activeChat(state, idx) {
 			state.activeIndex = idx;
@@ -119,4 +128,4 @@ export default {
 		}
 	},
 
-}
+}