fix(search): 修复头部搜索组件点击内部时不关闭的问题
- 为close函数添加事件参数支持 - 添加点击目标检测逻辑,避免搜索框内部点击触发关闭 - 检查事件目标是否包含在搜索元素内 - 仅当点击外部区域时才执行关闭操作 - 保持原有的blur和重置功能不变
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user