From f0c5780f7ad8428c7085ee5f8c3c92d19f023867 Mon Sep 17 00:00:00 2001 From: Tim <135014430+nagisa77@users.noreply.github.com> Date: Wed, 9 Jul 2025 20:28:16 +0800 Subject: [PATCH] feat(frontend): add none options for category and tag --- open-isle-cli/src/components/CategorySelect.vue | 3 ++- open-isle-cli/src/components/TagSelect.vue | 15 +++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/open-isle-cli/src/components/CategorySelect.vue b/open-isle-cli/src/components/CategorySelect.vue index b67ffcefc..c81b2da4e 100644 --- a/open-isle-cli/src/components/CategorySelect.vue +++ b/open-isle-cli/src/components/CategorySelect.vue @@ -18,7 +18,8 @@ export default { const fetchCategories = async () => { const res = await fetch(`${API_BASE_URL}/api/categories`) if (!res.ok) return [] - return await res.json() + const data = await res.json() + return [{ id: '', name: '无分类' }, ...data] } const selected = computed({ diff --git a/open-isle-cli/src/components/TagSelect.vue b/open-isle-cli/src/components/TagSelect.vue index 730d90c90..ddc7aa04b 100644 --- a/open-isle-cli/src/components/TagSelect.vue +++ b/open-isle-cli/src/components/TagSelect.vue @@ -18,15 +18,22 @@ export default { const fetchTags = async () => { const res = await fetch(`${API_BASE_URL}/api/tags`) if (!res.ok) return [] - return await res.json() + const data = await res.json() + return [{ id: 0, name: '无标签' }, ...data] } const selected = computed({ get: () => props.modelValue, set: v => { - if (Array.isArray(v) && v.length > 2) { - toast.error('最多选择两个标签') - return + if (Array.isArray(v)) { + if (v.includes(0)) { + emit('update:modelValue', []) + return + } + if (v.length > 2) { + toast.error('最多选择两个标签') + return + } } emit('update:modelValue', v) }