diff --git a/frontend/src/components/sidebar/ConnectionTree.vue b/frontend/src/components/sidebar/ConnectionTree.vue index 5a5c22a1..657f32eb 100644 --- a/frontend/src/components/sidebar/ConnectionTree.vue +++ b/frontend/src/components/sidebar/ConnectionTree.vue @@ -295,6 +295,7 @@ const openConnection = async (name) => { tabStore.upsertTab({ server: name, db: browserStore.getSelectedDB(name), + forceSwitch: true, }) } } catch (e) { diff --git a/frontend/src/stores/tab.js b/frontend/src/stores/tab.js index f451d079..3d34956e 100644 --- a/frontend/src/stores/tab.js +++ b/frontend/src/stores/tab.js @@ -161,6 +161,7 @@ const useTabStore = defineStore('tab', { * @param {boolean} [clearValue] * @param {string} format * @param {string} decode + * @param {boolean} forceSwitch * @param {*} [value] */ upsertTab({ @@ -177,6 +178,7 @@ const useTabStore = defineStore('tab', { clearValue, format = '', decode = '', + forceSwitch = false, }) { let tabIndex = findIndex(this.tabList, { name: server }) if (tabIndex === -1) { @@ -221,6 +223,9 @@ const useTabStore = defineStore('tab', { if (clearValue === true) { tab.value = undefined } + if (forceSwitch === true) { + this._setActivatedIndex(tabIndex, true, subTab) + } } },