mirror of
https://github.com/vbenjs/vue-vben-admin.git
synced 2025-01-24 18:40:22 +08:00
parent
b1f31762e3
commit
bcfa338227
@ -46,6 +46,15 @@ export function useTabs(_router?: Router) {
|
|||||||
await tabStore.setTabTitle(title, targetTab);
|
await tabStore.setTabTitle(title, targetTab);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function updateTabPath(path: string, tab?: RouteLocationNormalized) {
|
||||||
|
const canIUse = canIUseTabs;
|
||||||
|
if (!canIUse) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const targetTab = tab || getCurrentTab();
|
||||||
|
await tabStore.updateTabPath(path, targetTab);
|
||||||
|
}
|
||||||
|
|
||||||
async function handleTabAction(action: TableActionEnum, tab?: RouteLocationNormalized) {
|
async function handleTabAction(action: TableActionEnum, tab?: RouteLocationNormalized) {
|
||||||
const canIUse = canIUseTabs;
|
const canIUse = canIUseTabs;
|
||||||
if (!canIUse) {
|
if (!canIUse) {
|
||||||
@ -87,9 +96,8 @@ export function useTabs(_router?: Router) {
|
|||||||
closeRight: () => handleTabAction(TableActionEnum.CLOSE_RIGHT),
|
closeRight: () => handleTabAction(TableActionEnum.CLOSE_RIGHT),
|
||||||
closeOther: () => handleTabAction(TableActionEnum.CLOSE_OTHER),
|
closeOther: () => handleTabAction(TableActionEnum.CLOSE_OTHER),
|
||||||
closeCurrent: () => handleTabAction(TableActionEnum.CLOSE_CURRENT),
|
closeCurrent: () => handleTabAction(TableActionEnum.CLOSE_CURRENT),
|
||||||
close: (tab?: RouteLocationNormalized) => {
|
close: (tab?: RouteLocationNormalized) => handleTabAction(TableActionEnum.CLOSE, tab),
|
||||||
handleTabAction(TableActionEnum.CLOSE, tab);
|
|
||||||
},
|
|
||||||
setTitle: (title: string, tab?: RouteLocationNormalized) => updateTabTitle(title, tab),
|
setTitle: (title: string, tab?: RouteLocationNormalized) => updateTabTitle(title, tab),
|
||||||
|
updatePath: (fullPath: string, tab?: RouteLocationNormalized) => updateTabPath(fullPath, tab),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -300,6 +300,17 @@ export const useMultipleTabStore = defineStore({
|
|||||||
await this.updateCacheTab();
|
await this.updateCacheTab();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* replace tab's path
|
||||||
|
* **/
|
||||||
|
async updateTabPath(fullPath: string, route: RouteLocationNormalized) {
|
||||||
|
const findTab = this.getTabList.find((item) => item === route);
|
||||||
|
if (findTab) {
|
||||||
|
findTab.fullPath = fullPath;
|
||||||
|
findTab.path = fullPath;
|
||||||
|
await this.updateCacheTab();
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user