[탭 기능 개선] 탭 초기화 및 활성 탭 변경 로직 추가, 주석 정리

This commit is contained in:
2025-09-23 16:01:23 +09:00
parent 9f66ebac8a
commit 24c0f4f5b6
2 changed files with 24 additions and 4 deletions

View File

@@ -15,7 +15,7 @@ export const useTabsStore = defineStore("tabs", {
activeTab: 1,
}),
actions: {
// 새 탭 추가 (기본 페이지는 "/")
// 새 탭 추가 (기본 페이지는 "/")
addTab() {
const { $router } = useNuxtApp();
@@ -33,7 +33,7 @@ export const useTabsStore = defineStore("tabs", {
return key;
},
// 활성 탭 내용 변경 (서브메뉴 클릭)
// 활성 탭 내용 변경 (서브메뉴 클릭)
updateActiveTab(sub: { label: string; to: string; componentName: string }) {
const { $router } = useNuxtApp();
@@ -46,6 +46,7 @@ export const useTabsStore = defineStore("tabs", {
$router.push(`/${tab?.key}${tab?.to}`);
},
// 활설 탭 제거
removeTab(key: number) {
this.tabs = this.tabs.filter(t => t.key !== key);
if (this.activeTab === key) {
@@ -55,6 +56,7 @@ export const useTabsStore = defineStore("tabs", {
}
},
// 활성 탭 변경
setActiveTab(key: number) {
const { $router } = useNuxtApp();
this.activeTab = key;
@@ -62,6 +64,15 @@ export const useTabsStore = defineStore("tabs", {
const tab = this.tabs.find(t => t.key === this.activeTab);
$router.push(`/${tab?.key}${tab?.to}`);
},
// 탭 초기화
resetTabs() {
const { $router } = useNuxtApp();
this.tabs = [defaultTab];
this.activeTab = 1;
$router.push(defaultTab.to);
},
},
persist: true,
});