vue-multi-tab--一个让你在SPA里使用多页签的框架页

简介: 介绍vue-multi-tab 是一套基于 vue 和 element-ui 的 , 实现了 tab-router (一个基于 tab 的路由) 的 单页面, 多页签 应用程序.

介绍

vue-multi-tab 是一套基于 vueelement-ui 的 , 实现了 tab-router (一个基于 tab 的路由) 的 单页面, 多页签 应用程序.

我之前写这个项目的时候,有写了一篇 记一次基于vue的spa多页签实践经验
然后就部分热心网友就在下面回复了一些其他类似的项目,我逐一查看了一下,发现基本都是基于 vue-routerkeep-alive 实现的,这种实现方法有两个比较明显的问题,第一是很难在页签内部跳转,比如我现在这个页签打开的是组件a,然后点击组件a里面的某个链接,我想跳转到组件b,但是是需要在页签不变的情况下打开,不能在新的页签打开,这样基于路由的就很难实现.
另一个问题就是 需要处理 keep-alive 的问题,有趟过 keep-alive 的坑的童鞋基本都了解,基于以上原因,我决定给大家一个 不太一样的实现方式

那么我这个 vue-multi-tab 跟其他产品有什么不同呢?--除了实现多页签功能以为,我们还有很多跟其他同类产品不同的特性,如下.

在线预览

https://noahlam.github.io/vue-multi-tab/

主要特性:

  1. 可以在页签内像 vue-router 一样跳转组件
  2. 没有 keep-alive,所以也无需处理 keep-alive 问题
  3. 双重历史记录(页签内部历史记录和页签历史记录)
  4. 类似 vue-router 的 API(push,replace,back)
  5. 所有组件均默认为异步加载(当然你也可以改成同步的)
  6. 可以单 tab 刷新

API 列表

  1. open 打开一个页签
  2. close 关闭一个页签
  3. showTab 切换 tab
  4. push 标签内跳转
  5. replace 标签内替换
  6. back 标签内后退
  7. closeAll 关闭所有标签
  8. closeOthers 关闭除当前标签外的所有标签
  9. reShow 根据地址栏数据,回显标签和标签内的组件
  10. query 获取 push,replace 传递的参数
  11. info 获取 当前激活的 tab 对象
tips: 更详细的 API 文档请看 这里

其他说明

项目地址 vue-multi-tab,如果你觉得有用,给个 star 鼓励一下.

因为我本身就是个很讨厌记很多API的人,所以仅提供几个简单又能满足绝大部分需求的API,目的就是为了降低学习成本.

如果你觉得无法满足你的需求或使用中发现 bug 或疑问 欢迎 在这里提issue

个人精力有限,还有很多地方需要你的共同参与,如果你兴趣一起维护,欢迎 pr.

来源:https://segmentfault.com/a/1190000016035662

相关文章
|
4天前
|
JavaScript
基于Vue3+TS简单设计一个查看文章时点击展开和点击收起的小功能
该文章展示了如何使用Vue 3和TypeScript创建一个简单的展开和收起功能,用于文章查看时的交互体验。
13 0
基于Vue3+TS简单设计一个查看文章时点击展开和点击收起的小功能
|
3月前
|
JavaScript
Ant design vue 样式调整(包含导航栏、a-table表格、分页)
Ant design vue 样式调整(包含导航栏、a-table表格、分页)
212 1
|
3月前
|
API
uniapp中uview组件库丰富LoadingPage 加载页
uniapp中uview组件库丰富LoadingPage 加载页
146 0
|
3月前
|
JavaScript
Javaweb之Vue组件库Element案例分页工具栏的详细解析
4.4.3.5.3 分页工具栏 分页条我们之前做过,所以我们直接找到之前的案例,复制即可,代码如下: 其中template模块代码如下:
87 0
|
12月前
|
JSON 前端开发 JavaScript
BootStrap框架下使用JS动态加载table并点击相关列弹出二级页面
在这里记录一下,也是在公司用到的一个例子,刚刚解决,正好趁热打铁。前端页面是采用BootStrap框架搭建的,主要的样式涉及到项目,在这里就不截图了,直接上代码:
99 1
elementUI 的el-select组件编辑时点击没反应效果demo(整理)
elementUI 的el-select组件编辑时点击没反应效果demo(整理)
|
资源调度 JavaScript 开发工具
vue3 + TS + elementplus + pinia实现后台管理系统左侧菜单联动实现 tab根据路由切换联动内容
vue3 + TS + elementplus + pinia实现后台管理系统左侧菜单联动实现 tab根据路由切换联动内容
385 0
|
前端开发
React+hook+ts+ant design封装一个具有编辑和新增功能的页面
React+hook+ts+ant design封装一个具有编辑和新增功能的页面
70 0
|
移动开发 weex-ui weex
weex-ui之wxc-tab-page 顶部标签页踩坑记
weex-ui之wxc-tab-page 顶部标签页踩坑记
108 0
|
JavaScript 前端开发
前端-vue基础27-tab选项卡之切换效果
前端-vue基础27-tab选项卡之切换效果
197 0
前端-vue基础27-tab选项卡之切换效果