From 2ebbd4c94d0337f2c0fe0bf0fe27f8d6355f6f8b Mon Sep 17 00:00:00 2001 From: bayma888 Date: Sun, 8 Mar 2026 18:26:17 +0800 Subject: [PATCH] =?UTF-8?q?feat(ui):=20=E4=BC=98=E5=8C=96=E5=88=86?= =?UTF-8?q?=E7=BB=84=E9=80=89=E6=8B=A9=E5=99=A8=E4=BA=A4=E4=BA=92=E4=BD=93?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 分组下拉添加搜索框,支持按名称/描述快速筛选 - 新建/编辑密钥弹窗的分组选择也支持搜索 - 智能弹出方向:底部空间不足时自动向上弹出 - 倍率独立为平台配色的圆角标签,更醒目 - 分组名称加粗,名称与描述之间增加间距 - 分组选项之间添加分隔线,视觉更清晰 - 切换图标旁增加"选择分组"文字提示 - 下拉宽度自适应内容长度 - i18n: 新增 searchGroup、noGroupFound 词条 (en/zh) --- .../src/components/common/GroupOptionItem.vue | 84 +++++++++++++++---- frontend/src/components/common/Select.vue | 10 ++- frontend/src/i18n/locales/en.ts | 2 + frontend/src/i18n/locales/zh.ts | 2 + frontend/src/views/user/KeysView.vue | 71 ++++++++++++++-- 5 files changed, 142 insertions(+), 27 deletions(-) diff --git a/frontend/src/components/common/GroupOptionItem.vue b/frontend/src/components/common/GroupOptionItem.vue index 8673b9b1..10c431a1 100644 --- a/frontend/src/components/common/GroupOptionItem.vue +++ b/frontend/src/components/common/GroupOptionItem.vue @@ -1,37 +1,56 @@ + + diff --git a/frontend/src/components/common/Select.vue b/frontend/src/components/common/Select.vue index 36b5e022..9a81344c 100644 --- a/frontend/src/components/common/Select.vue +++ b/frontend/src/components/common/Select.vue @@ -224,7 +224,13 @@ const filteredOptions = computed(() => { let opts = props.options as any[] if (props.searchable && searchQuery.value) { const query = searchQuery.value.toLowerCase() - opts = opts.filter((opt) => getOptionLabel(opt).toLowerCase().includes(query)) + opts = opts.filter((opt) => { + // Match label + if (getOptionLabel(opt).toLowerCase().includes(query)) return true + // Also match description if present + if (opt.description && String(opt.description).toLowerCase().includes(query)) return true + return false + }) } return opts }) @@ -434,7 +440,7 @@ onUnmounted(() => {