d3george / slash-admin

A modern react admin. It is based on react 18, vite and TypeScript. It's fast !
https://admin.slashspaces.com/
MIT License
1.49k stars 218 forks source link

fix: don't open a blank tab in project when click a external link menu #16 #34

Closed aifuxi closed 5 months ago

aifuxi commented 5 months ago

修复 #16

改动点

  1. types/entity.tsPermission 接口新增 hideTab 字段
  2. src/_mock/assets.js 中配置返回的外链菜单配置的 hideTab 字段为 true
  3. src/router/hooks/use-permission-routes.tsx 中,返回 hideTab 字段
  4. src/layouts/dashboard/nav.tsx 中处理菜单的onClick时,判断当前点击的菜单是否为外链以及 hideTab 字段是否为 true;是外链并且hideTab 字段为 true,使用 window.open 打开外链同时项目内不进行路由跳转

Before

https://github.com/d3george/slash-admin/assets/65325004/71d47820-7772-460b-8f47-8fd0da8f632a

点击外链菜单时会:

After

https://github.com/d3george/slash-admin/assets/65325004/a53f184a-e7b8-4170-a364-31087cff7b12

点击外链菜单时只会打开新标签页

如何验证:

  1. clone fix/hide-in-multi-tab 分支代码
git clone -b fix/hide-in-multi-tab https://github.com/aifuxi/slash-admin.git
  1. 本地启动
# 安装依赖
pnpm install
# 启动开发环境
pnpm dev
  1. 访问 http://localhost:3001 进行验证,如果已登录,务必先退出登录后,再重新登录,防止接口有缓存
vercel[bot] commented 5 months ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
slash-admin ✅ Ready (Inspect) Visit Preview 💬 Add feedback Mar 24, 2024 3:10am