From e34e6fe1c916b83e30fe5cc6dcf7befd332de41b Mon Sep 17 00:00:00 2001 From: qiutianhong Date: Tue, 5 Nov 2024 10:37:43 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9Atest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/components.d.ts | 16 +- frontend/src/components/chat/Chat.vue | 221 ++++++---------- frontend/src/components/chat/ChatBox.vue | 241 +++++++++++------- frontend/src/components/chat/ChatMessage.vue | 61 ++++- frontend/src/components/chat/ChatMsgList.vue | 102 +++++--- frontend/src/components/chat/ChatUserList.vue | 19 +- frontend/src/stores/chat.ts | 196 ++++---------- 7 files changed, 427 insertions(+), 429 deletions(-) diff --git a/frontend/components.d.ts b/frontend/components.d.ts index 6620659..048fa33 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -50,31 +50,45 @@ declare module 'vue' { EditType: typeof import('./src/components/builtin/EditType.vue')['default'] ElAside: typeof import('element-plus/es')['ElAside'] ElAvatar: typeof import('element-plus/es')['ElAvatar'] + ElBadge: typeof import('element-plus/es')['ElBadge'] ElButton: typeof import('element-plus/es')['ElButton'] ElCard: typeof import('element-plus/es')['ElCard'] ElCarousel: typeof import('element-plus/es')['ElCarousel'] ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem'] + ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] ElCol: typeof import('element-plus/es')['ElCol'] + ElColorPicker: typeof import('element-plus/es')['ElColorPicker'] ElContainer: typeof import('element-plus/es')['ElContainer'] ElDialog: typeof import('element-plus/es')['ElDialog'] ElDrawer: typeof import('element-plus/es')['ElDrawer'] + ElDropdown: typeof import('element-plus/es')['ElDropdown'] + ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem'] + ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu'] + ElEmpty: typeof import('element-plus/es')['ElEmpty'] ElFooter: typeof import('element-plus/es')['ElFooter'] ElForm: typeof import('element-plus/es')['ElForm'] ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElHeader: typeof import('element-plus/es')['ElHeader'] ElIcon: typeof import('element-plus/es')['ElIcon'] + ElImage: typeof import('element-plus/es')['ElImage'] ElInput: typeof import('element-plus/es')['ElInput'] ElMain: typeof import('element-plus/es')['ElMain'] ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] + ElOption: typeof import('element-plus/es')['ElOption'] ElPagination: typeof import('element-plus/es')['ElPagination'] + ElPopover: typeof import('element-plus/es')['ElPopover'] ElProgress: typeof import('element-plus/es')['ElProgress'] ElRow: typeof import('element-plus/es')['ElRow'] ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] + ElSelect: typeof import('element-plus/es')['ElSelect'] + ElSwitch: typeof import('element-plus/es')['ElSwitch'] + ElTable: typeof import('element-plus/es')['ElTable'] + ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] + ElText: typeof import('element-plus/es')['ElText'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] ElTransfer: typeof import('element-plus/es')['ElTransfer'] ElTree: typeof import('element-plus/es')['ElTree'] - ElUpload: typeof import('element-plus/es')['ElUpload'] Error: typeof import('./src/components/taskbar/Error.vue')['default'] FileIcon: typeof import('./src/components/builtin/FileIcon.vue')['default'] FileIconImg: typeof import('./src/components/builtin/FileIconImg.vue')['default'] diff --git a/frontend/src/components/chat/Chat.vue b/frontend/src/components/chat/Chat.vue index ae19608..a896ee6 100644 --- a/frontend/src/components/chat/Chat.vue +++ b/frontend/src/components/chat/Chat.vue @@ -8,7 +8,6 @@ store.initChat(); }); - // 将用户列表转换为 el-transfer 组件所需的数据格式 const generateData = () => { return store.allUserList.map((user: any) => ({ key: user.id, @@ -27,18 +26,21 @@ } }); - function toggleSelectItem(item: any) { - const index = users.value.indexOf(item.key); - if (index === -1) { - users.value.push(item.key); - } else { - users.value.splice(index, 1); - } - } - function removeItem(userId: string) { - users.value = users.value.filter((user) => user !== userId); - } + // 监听搜索输入并更新 searchList + watch( + () => store.searchInput, + (newSearchInput) => { + if (newSearchInput === "") { + store.searchList = []; // 当搜索输入为空时,清空搜索列表 + } else { + store.searchList = store.chatList.filter( + (user: { displayName: string | string[] }) => + user.displayName.includes(newSearchInput) + ); + } + } + );