Selaa lähdekoodia

消息的交互优化

刘洋 1 vuosi sitten
vanhempi
commit
f0d1bf505c

+ 10 - 1
src/components/shared/message/MessageHeadList.vue

@@ -28,7 +28,7 @@
   </div>
 </template>
 <script lang="ts" setup>
-import { ref, watch, computed } from 'vue'
+import { ref, watch, computed, onUnmounted } from 'vue'
 import { ElInput } from 'element-plus'
 import useFetch from '@/hooks/useFetch'
 import bus from '@/utils/bus'
@@ -41,6 +41,15 @@ const filterText = ref('')
 const emits = defineEmits(['leftMsgClick'])
 const props = defineProps<{ curMsg: any; mode: string; replyUserId: any }>()
 
+const clearSearch = () => {
+  console.log('clear-search')
+  filterText.value = ''
+}
+bus.on('clear-search', clearSearch)
+onUnmounted(() => {
+  bus.off('clear-search')
+})
+
 const currentMessage = ref<any>()
 // const { fetch: getMessageList, result: messageList } = useFetch('getMessageList')
 const { fetch: getMessageList, result: originMessageList } = useFetch('getMessageList')

+ 9 - 7
src/components/shared/message/MessageList.vue

@@ -123,7 +123,8 @@ const props = defineProps<{
   secretNumber?: string | number | null
 }>()
 
-const emits = defineEmits(['close', 'change-type', 'reply', 'refresh'])
+// const emits = defineEmits(['close', 'change-type', 'reply', 'refresh'])
+const emits = defineEmits(['close', 'reply', 'refresh', 'clear-search'])
 const { fetch: getMessageHistory, result: history, loading } = useFetch('getMessageHistory')
 const historyReverse = computed(() => {
   return ((history.value as any) || []).reverse()
@@ -276,12 +277,12 @@ const toggleHistory = () => {
   showHistory.value = !showHistory.value
 }
 
-const onReply = () => {
-  if (currentMessage.value) {
-    emits('change-type', 'send')
-    emits('reply', currentMessage.value.sendUserId, currentMessage.value.sendUserName)
-  }
-}
+// const onReply = () => {
+//   if (currentMessage.value) {
+//     emits('change-type', 'send')
+//     emits('reply', currentMessage.value.sendUserId, currentMessage.value.sendUserName)
+//   }
+// }
 
 const onContentClick = (e: Event) => {
   const target = e.target as HTMLButtonElement
@@ -290,6 +291,7 @@ const onContentClick = (e: Event) => {
     previewModalVisible.value = true
     paperPath.value = path
   }
+  bus.emit('clear-search')
 }
 
 onUnmounted(() => {

+ 2 - 1
src/components/shared/message/MessageSend.vue

@@ -113,7 +113,8 @@ const customNodeClass = (data: any, node: any) => {
   }
 }
 /** cleat warning */
-const emit = defineEmits(['close', 'change-type', 'reply', 'refresh'])
+// const emit = defineEmits(['close', 'change-type', 'reply', 'refresh'])
+const emit = defineEmits(['close', 'reply', 'refresh'])
 const showHistory = ref<boolean>(false)
 /** 默认的收件人ID */
 const replyUserId = useVModel(props, 'replyUserId')

+ 0 - 1
src/components/shared/message/MessageWindow.vue

@@ -21,7 +21,6 @@
           :secret-number="props.secretNumber"
           :reply-user-name="replyUserName"
           @close="onClose"
-          @change-type="onChangeType"
           @reply="onReply"
           @refresh="refresh"
         >