Browse Source

!4 修复会话抖动的bug
Merge pull request !4 from blue/v_1.1.0

blue 3 năm trước cách đây
mục cha
commit
c95efd72c1
2 tập tin đã thay đổi với 12 bổ sung3 xóa
  1. 1 1
      im-ui/src/components/chat/ChatGroup.vue
  2. 11 2
      im-ui/src/store/chatStore.js

+ 1 - 1
im-ui/src/components/chat/ChatGroup.vue

@@ -19,7 +19,7 @@
 				</el-main>
 				<el-footer height="25%" class="im-chat-footer">
 					<div class="chat-tool-bar">
-						<div title="表情" class="el-icon-service" ref="emotion" @click="switchEmotionBox()">
+						<div title="表情" class="el-icon-eleme" ref="emotion" @click="switchEmotionBox()">
 							<emotion v-show="showEmotion" :pos="emoBoxPos" @emotion="handleEmotion"></Emotion>
 						</div>
 						<div title="发送图片">

+ 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 {
 		}
 	},
 
-}
+}