diff --git a/src/components/Course/courseTag.vue b/src/components/Course/courseTag.vue index aaba9fb0..8981d0a9 100644 --- a/src/components/Course/courseTag.vue +++ b/src/components/Course/courseTag.vue @@ -69,7 +69,8 @@ export default { params: {}, tag: {}, // 添加临时存储用于回滚 - previousTags: [] + previousTags: [], + justCreatedTag: false } }, computed: { @@ -257,10 +258,31 @@ export default { } const {result:newTag} = await apiCourseTag.createTag(this.params) this.$message.success('标签创建成功',newTag); - this.searchResults.push(newTag) - console.log("----------newTag---------->",this.searchResults) + + // 将新标签添加到搜索结果中 + this.searchResults.unshift(newTag); // 使用unshift添加到前面 this.tagMap.set(newTag.id, newTag) - this.$emit('change', this.displayTags) + + this.selectedTags.push(newTag); + this.$emit('change', this.selectedTags) + + this.clearInput(); + // 重新打开下拉框显示新创建的标签 + this.$nextTick(() => { + if (this.$refs.tagSelect) { + // 手动打开下拉框 + this.$refs.tagSelect.focus(); + // 设置一个标记,避免立即关闭 + this.justCreatedTag = true; + setTimeout(() => { + this.justCreatedTag = false; + }, 100); + } + }); + + } catch (error) { + this.$message.error('标签创建失败'); + console.error('创建标签失败:', error); } finally { this.loading = false }