From 7ef7b97232dd0cd02822c492a739827158b5b3d6 Mon Sep 17 00:00:00 2001
From: kjqwer <2990346238@qq.com>
Date: Tue, 11 Nov 2025 11:03:34 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B1=95=E7=A4=BAbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/PresetDropdown.vue | 42 +++++++++++++++++++++++++------
src/components/PresetManager.vue | 6 +++--
2 files changed, 39 insertions(+), 9 deletions(-)
diff --git a/src/components/PresetDropdown.vue b/src/components/PresetDropdown.vue
index 51dd98d..4364265 100644
--- a/src/components/PresetDropdown.vue
+++ b/src/components/PresetDropdown.vue
@@ -60,13 +60,40 @@ const filteredPresets = computed(() => {
return true;
});
- // 搜索过滤
+ // 搜索过滤 - 支持名称、内容、描述、标签、文件夹搜索
if (q) {
- list = list.filter((p) =>
- p.name.toLowerCase().includes(q) ||
- p.text.toLowerCase().includes(q) ||
- p.description?.toLowerCase().includes(q)
- );
+ list = list.filter((p) => {
+ // 基本搜索:名称、内容、描述
+ const basicMatch = p.name.toLowerCase().includes(q) ||
+ p.text.toLowerCase().includes(q) ||
+ p.description?.toLowerCase().includes(q);
+
+ // 标签搜索(如果是扩展预设)
+ let tagMatch = false;
+ if (p.isExtended) {
+ const extendedPreset = store.extendedPresets.find(ep => ep.name === p.name && ep.type === p.type);
+ if (extendedPreset?.tags) {
+ tagMatch = extendedPreset.tags.some(tag => tag.toLowerCase().includes(q));
+ }
+ }
+
+ // 文件夹搜索(如果是扩展预设)
+ let folderMatch = false;
+ if (p.isExtended) {
+ const extendedPreset = store.extendedPresets.find(ep => ep.name === p.name && ep.type === p.type);
+ if (extendedPreset?.folderId) {
+ const folder = store.presetFolders.find(f => f.id === extendedPreset.folderId);
+ if (folder) {
+ folderMatch = folder.name.toLowerCase().includes(q);
+ }
+ }
+ }
+
+ // 类型搜索
+ const typeMatch = getTypeLabel(p.type).toLowerCase().includes(q);
+
+ return basicMatch || tagMatch || folderMatch || typeMatch;
+ });
}
// 排序
@@ -372,7 +399,7 @@ onUnmounted(() => {