fix(frontend): 修复文件管理器右键子菜单关闭竞态

移除文件管理器右键菜单在捕获阶段注册的全局点击关闭监听
将关闭职责统一收敛到组件层 click-outside 处理

避免终端、上传、压缩等子菜单在展开或点击前被提前关闭
同时同步更新相关知识库记录与中英文 README 链接
This commit is contained in:
yinjianm
2026-03-26 05:56:00 +08:00
parent cda7e0a018
commit 26acdba7e8
10 changed files with 144 additions and 35 deletions
@@ -331,13 +331,6 @@ export function useFileManagerContextMenu(options: UseFileManagerContextMenuOpti
contextMenuPosition.value = { x: finalX, y: finalY };
}
// Add global listener to hide menu *after* positioning
document.removeEventListener('click', hideContextMenu, { capture: true });
document.addEventListener('click', hideContextMenu, { capture: true, once: true });
} else {
// Fallback listener if measurement fails
document.removeEventListener('click', hideContextMenu, { capture: true });
document.addEventListener('click', hideContextMenu, { capture: true, once: true });
}
});
};
@@ -347,7 +340,6 @@ export function useFileManagerContextMenu(options: UseFileManagerContextMenuOpti
contextMenuVisible.value = false;
contextMenuItems.value = [];
contextTargetItem.value = null; // 清理目标项
document.removeEventListener('click', hideContextMenu, { capture: true });
};
// 返回需要暴露的状态和方法