GithubHelp home page GithubHelp logo

bebetter / ant-design-pro-tabs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bailihuiyue/ant-design-pro-tabs

0.0 1.0 0.0 827 KB

基于pro2.0/4.0制作的多标签版本,直接引入组件即可使用,十分方便

JavaScript 90.28% CSS 9.01% HTML 0.72%

ant-design-pro-tabs's Introduction

Ant Design Pro Tabs

大家想要的,带有tab标签的ant design pro 又叕来啦!!!

  • 代码已经重写,使用hooks进行开发,精力有限,只出了js版本,需要ts的同学把类型改成any就好了(手动捂脸)
  • 基于最新版ant-design-pro 4.0 (仍然保留2.3.0包版本组件,TabPages/old.js就是了)
  • 原汁原味,只添加了tab,其他均无修改
  • 保留完整权限,输入错误地址仍然可以显示403
  • 模块化代码,最低引入一个文件即可完成tab的添加
  • 利用sessionStorage,刷新页面仍显可以显示之前未关闭的标签,重新打开浏览器只会显示路由所在的标签
  • 刷新页面会提示信息无法被保存(可在window.onbeforeunload中修改,删除此行就可以屏蔽该功能)
  • 类库使用:good-storage
  • TODO:1. 隐藏标签实现类vue的keep-alive
  • BUG:1. 通过路由传参会找不到页面,从而报错
    2.由于pro4.0没有menuData传进来,渲染全靠props.routes渲染,所以国际化可能会有点问题,导致路由路径必须和国际化一直,比如路径是a/b/c,那么国际化必须写成menu:{a:{b:{c:"xxxxx"}}},否则会tab可能会显示不正常
    3.输入错误的路由时逻辑还有点小问题,待修复
    4.页签限制功能(maxTab),计算有时不准,待修复
    如有其他问题请反馈,谢谢
  • 注意:

    由于框架原因,所有路由都是先走/然后跳转,所以每次tab也都会有一个/,显示为menu.,目前的方法是把这个标签display:none了

pro 4.0 使用方法:

  1. 复制src/components/TabPages文件夹到自己的项目当中
  2. src/layouts/BasicLayout.js中引入该组件
  <Authorized authority={authorized.authority} noMatch={noMatch}>
    <TabPages {...props} homePageKey='/form/basic-form' errorPage={noMatch} maxTab="5" homePage="/dashboard/analysis"> // maxTab="5"作用:标签开多了可能导致浏览器崩溃,设置一个最大数量,超出会提示
      {children}
    </TabPages>
  </Authorized> // homePageKey就是项目首页的url地址

4.pro 2.0版本

 <Content>
   {children} //注释此行,改为tab组件
   <TabPages {...this.props} homePageKey='/dashboard/home' errorPage={<NoAuth />} />
</Content>				// homePageKey就是项目首页的url地址
  1. 多标签的信息是存储在sessionStorage的AntTabs中,建议退出登录时清理一下,避免造成bug

  2. 有问题欢迎多交流,github不常在线,着急的话请发邮件或者加我QQ(同邮箱)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.