diff --git a/im-ui/src/store/chatStore.js b/im-ui/src/store/chatStore.js index d8218e2..38ff629 100644 --- a/im-ui/src/store/chatStore.js +++ b/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 { } }, -} +}