mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-05-06 20:03:05 +08:00
🔧 fix(App/handleNewQuery): 修复新建查询默认数据库选择错误
- 验证当前 tab 的 connectionId 仍存在于 connections 列表中才复用上下文 - activeContext 作为次优先回退,同样验证 connectionId 有效性 - 避免关闭连接 A 后新建查询仍默认选中数据库 A 的问题 - refs #241
This commit is contained in:
@@ -911,18 +911,24 @@ function App() {
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const handleNewQuery = () => {
|
const handleNewQuery = () => {
|
||||||
let connId = activeContext?.connectionId || '';
|
let connId = '';
|
||||||
let db = activeContext?.dbName || '';
|
let db = '';
|
||||||
|
|
||||||
// Priority: Active Tab Context > Sidebar Selection
|
// Priority: Active Tab Context (if connection still valid) > Sidebar Selection (activeContext)
|
||||||
if (activeTabId) {
|
if (activeTabId) {
|
||||||
const currentTab = tabs.find(t => t.id === activeTabId);
|
const currentTab = tabs.find(t => t.id === activeTabId);
|
||||||
if (currentTab && currentTab.connectionId) {
|
if (currentTab && currentTab.connectionId && connections.some(c => c.id === currentTab.connectionId)) {
|
||||||
connId = currentTab.connectionId;
|
connId = currentTab.connectionId;
|
||||||
db = currentTab.dbName || '';
|
db = currentTab.dbName || '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fallback: Sidebar selection context (only if connection still valid)
|
||||||
|
if (!connId && activeContext?.connectionId && connections.some(c => c.id === activeContext.connectionId)) {
|
||||||
|
connId = activeContext.connectionId;
|
||||||
|
db = activeContext.dbName || '';
|
||||||
|
}
|
||||||
|
|
||||||
addTab({
|
addTab({
|
||||||
id: `query-${Date.now()}`,
|
id: `query-${Date.now()}`,
|
||||||
title: '新建查询',
|
title: '新建查询',
|
||||||
|
|||||||
Reference in New Issue
Block a user