|
|
|
@ -25,13 +25,16 @@ const NavBar: React.FC<NavBarProps> = ({ selected, menuData, onTabChange, onTabC
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (item.children) {
|
|
|
|
if (item.children) {
|
|
|
|
const title = findMenuTitle(item.children, path);
|
|
|
|
const title = findMenuTitle(item.children, path);
|
|
|
|
if (title) return title;
|
|
|
|
if (title && title !== '未知页面') {
|
|
|
|
|
|
|
|
return title;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return '未知页面';
|
|
|
|
return '未知页面';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 当选中的菜单项变化时,添加新的tab
|
|
|
|
// 当选中的菜单项变化时,添加新的tab
|
|
|
|
useEffect(() => {
|
|
|
|
useEffect(() => {
|
|
|
|
if (selected?.currentPath) {
|
|
|
|
if (selected?.currentPath) {
|
|
|
|
@ -59,13 +62,11 @@ const NavBar: React.FC<NavBarProps> = ({ selected, menuData, onTabChange, onTabC
|
|
|
|
}, [selected, menuData]);
|
|
|
|
}, [selected, menuData]);
|
|
|
|
|
|
|
|
|
|
|
|
const handleDeleteTab = (key: string) => {
|
|
|
|
const handleDeleteTab = (key: string) => {
|
|
|
|
console.log("key:",key);
|
|
|
|
|
|
|
|
const newTabs = tabs.filter(tab => tab.key !== key);
|
|
|
|
const newTabs = tabs.filter(tab => tab.key !== key);
|
|
|
|
setTabs(newTabs);
|
|
|
|
setTabs(newTabs);
|
|
|
|
|
|
|
|
|
|
|
|
// 如果删除的是当前激活的tab,激活第一个tab(如果存在)
|
|
|
|
// 如果删除的是当前激活的tab,激活第一个tab(如果存在)
|
|
|
|
if (key === activeTab && newTabs.length > 0) {
|
|
|
|
if (key === activeTab && newTabs.length > 0) {
|
|
|
|
console.log("newTabs[0].key:",newTabs[0].key);
|
|
|
|
|
|
|
|
setActiveTab(newTabs[0].key);
|
|
|
|
setActiveTab(newTabs[0].key);
|
|
|
|
onTabChange?.(newTabs[0].path);
|
|
|
|
onTabChange?.(newTabs[0].path);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|