fix(search): 修复头部搜索组件点击内部时不关闭的问题

- 为close函数添加事件参数支持
- 添加点击目标检测逻辑,避免搜索框内部点击触发关闭
- 检查事件目标是否包含在搜索元素内
- 仅当点击外部区域时才执行关闭操作
- 保持原有的blur和重置功能不变
This commit is contained in:
2026-03-03 09:37:57 +08:00
parent c5528ce1b7
commit fc0f5a11be

View File

@@ -44,7 +44,14 @@ function click() {
headerSearchSelectRef.value && headerSearchSelectRef.value.focus();
}
}
function close() {
function close(e) {
// 如果点击的是搜索框内部,不关闭
if (e && e.target) {
const searchEl = document.querySelector('.header-search');
if (searchEl && searchEl.contains(e.target)) {
return;
}
}
headerSearchSelectRef.value && headerSearchSelectRef.value.blur();
options.value = [];
show.value = false;