fix: pin tab not working correct (#23)
parent
a60467b01c
commit
4dbd13d48d
|
@ -143,6 +143,7 @@ const useCoreTabbarStore = defineStore('core-tabbar', {
|
||||||
currentTab.params = params || currentTab.params;
|
currentTab.params = params || currentTab.params;
|
||||||
currentTab.query = query || currentTab.query;
|
currentTab.query = query || currentTab.query;
|
||||||
currentTab.fullPath = fullPath || currentTab.fullPath;
|
currentTab.fullPath = fullPath || currentTab.fullPath;
|
||||||
|
currentTab.meta = meta || currentTab.meta;
|
||||||
this.tabs.splice(tabIndex, 1, currentTab);
|
this.tabs.splice(tabIndex, 1, currentTab);
|
||||||
}
|
}
|
||||||
this.updateCacheTab();
|
this.updateCacheTab();
|
||||||
|
@ -285,7 +286,13 @@ const useCoreTabbarStore = defineStore('core-tabbar', {
|
||||||
this.tabs[index].meta.affixTab = true;
|
this.tabs[index].meta.affixTab = true;
|
||||||
}
|
}
|
||||||
// TODO: 这里应该把tab从tbs中移除
|
// TODO: 这里应该把tab从tbs中移除
|
||||||
this.affixTabs.push(tab as unknown as RouteRecordNormalized);
|
const affixIndex = this.affixTabs.findIndex(
|
||||||
|
(item) => this.getTabPath(item) === this.getTabPath(tab),
|
||||||
|
);
|
||||||
|
if (affixIndex === -1) {
|
||||||
|
tab.meta.affixTab = true;
|
||||||
|
this.affixTabs.push(tab as unknown as RouteRecordNormalized);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 刷新标签页
|
* 刷新标签页
|
||||||
|
@ -324,6 +331,7 @@ const useCoreTabbarStore = defineStore('core-tabbar', {
|
||||||
);
|
);
|
||||||
|
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
|
tab.meta.affixTab = false;
|
||||||
this.affixTabs[index].meta.affixTab = false;
|
this.affixTabs[index].meta.affixTab = false;
|
||||||
this.affixTabs.splice(index, 1);
|
this.affixTabs.splice(index, 1);
|
||||||
this.addTab(tab);
|
this.addTab(tab);
|
||||||
|
|
Loading…
Reference in New Issue