|
|
@ -64,7 +64,7 @@ const switchTab = (path, search = "") => { |
|
|
|
}; |
|
|
|
}; |
|
|
|
``` |
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
而对于 Tab 的关闭,就没什么好说的了,查找然后删除,这里有一个特殊的处理,就是判断关闭的 Tab 是不是当前选中的 Tab,对于关闭当前选中 Tab 的操作,这里会把当前选中的 Tab 移动,保证页面上不会出现关闭了 Tab 但是页面还没有被关闭的感觉 |
|
|
|
而对于 Tab 的关闭,就没什么好说的了,查找然后删除,这里有一个特殊的处理,就是判断关闭的 Tab 是不是当前选中的 Tab,对于关闭当前选中 Tab 的操作,这里会把当前选中的 Tab 移动,保证页面上不会出现关闭了 Tab 但是页面还没有被关闭 |
|
|
|
|
|
|
|
|
|
|
|
```javascript |
|
|
|
```javascript |
|
|
|
const closeTab = (path) => { |
|
|
|
const closeTab = (path) => { |
|
|
@ -79,4 +79,6 @@ const closeTab = (path) => { |
|
|
|
|
|
|
|
|
|
|
|
setTabList(newTabList); |
|
|
|
setTabList(newTabList); |
|
|
|
}; |
|
|
|
}; |
|
|
|
``` |
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
至此,整个 Tab 功能的基本逻辑就已经实现了,完整的代码可以看[这里](https://github.com/YuJian920/YuJian-Blog/blob/Remake/YuJianBlog-Admin/src/context/TabContext.tsx),其实完整的 Tab 功能还没有结束,例如还有 Tab 长度的限制,避免打开的 Tab 太多导致长度过长,还有完备的 Tab 应该有一个右键菜单,可以实现关闭其他、关闭所有之类的更多的功能 |