Vue可自定义tab组件用法实例


Posted in Javascript onOctober 24, 2019

在工作中我们常常要用到tab组件,如果有用第三方组件库的话一般都会有这个组件,但如果没有使用第三方组件库,或者想要自定义tab,那么或许这个无依赖的tab组件将会极大地节约你的开发时间。

Vue可自定义tab组件用法实例

如何使用?

1. 首先先安装:

npm i vue-cus-tabs -S

2. 在new vue之前引入样式并use一下VueCusTab:

import 'vue-cus-tabs/style/index.css'
import { installCusTabs } from 'vue-cus-tabs';
Vue.use(installCusTabs);

3. 在代码中引入组件:

<CusTabWrap>
   <template v-slot:tabBar>
    <CusTabBar :style="{'height':'50px'}">
     <CusTabItem v-for="item in tabItems" :key="item.title">
      {{item.title}}
     </CusTabItem>
    </CusTabBar>
   </template>

   <template v-slot:tabContainer>
    <CusTabContainer>
     <CusTabContainerItem v-for="item in tabItems">
      <ul>
       <li v-for="data in item.data">
        {{data.title}}
       </li>
      </ul>
     </CusTabContainerItem>
    </CusTabContainer>
   </template>
  </CusTabWrap>
import { TabController } from 'vue-cus-tabs';
  import Vue from 'vue'

  

  export default class Test extends Vue{
   public tabItems = [
    { title: '新闻', type: 'list', data: [{ img: '', title: 'list item  title' }] },
    { title: '视频', type: 'block', data: [{ video: '', title: 'list item   title' }] },
    { title: '视频1', type: 'block', data: [{ video: '', title: 'list item  title' }] },
   ];
   public tabController?: TabController;
   public mounted() {
    
    // 创建控制器
    this.tabController = new TabController({ data: this.tabItems, tabScroll: true, initIndex: 1 });
   }
  }

4. 启动Vue Cli的serve,即可看到成果。

整个组件的设计思路借鉴了flutter的tabs组件,数据的渲染交由vue完成,之后的tab控制由TabController实例来完成。

github: https://github.com/axel10/cus-tabs

npm: https://www.npmjs.com/package/vue-cus-tabs

在线演示:https://vue-cus-tabs-axel10.now.sh

以上就是本次介绍的相关知识点内容,感谢大家的学习和对三水点靠木的支持。

Javascript 相关文章推荐
JS setCapture 区域外事件捕捉
Mar 18 Javascript
HTML颜色选择器实现代码
Nov 23 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
Jan 09 Javascript
Javascript基础教程之数组 array
Jan 18 Javascript
script标签属性用type还是language
Jan 21 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
Dec 03 Javascript
javascript实现保留两位小数的多种方法
Dec 18 Javascript
Easyui Treegrid改变默认图标的方法
Apr 29 Javascript
jQuery实现简单的网页换肤效果示例
Sep 18 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
Aug 29 Javascript
js判断节假日实例代码
Dec 27 Javascript
async/await让异步操作同步执行的方法详解
Nov 01 Javascript
js实现转动骰子模型
Oct 24 #Javascript
js实现固定区域内的不重叠随机圆
Oct 24 #Javascript
js实现随机div颜色位置 类似满天星效果
Oct 24 #Javascript
windows实现npm和cnpm安装步骤
Oct 24 #Javascript
JS实现简单随机3D骰子
Oct 24 #Javascript
JS合并两个数组的3种方法详解
Oct 24 #Javascript
js实现简单掷骰子小游戏
Oct 24 #Javascript
You might like
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
yii2项目实战之restful api授权验证详解
2017/05/20 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
2013/01/17 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
Bootstrap的图片轮播示例代码
2015/08/31 Javascript
JavaScript Split()方法
2015/12/18 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
vue项目中使用vue-i18n报错的解决方法
2019/01/13 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
vue-next/runtime-core 源码阅读指南详解
2019/10/25 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
Python开发常用的一些开源Package分享
2015/02/14 Python
Python简单实现TCP包发送十六进制数据的方法
2016/04/16 Python
python中异常捕获方法详解
2017/03/03 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
20个常用Python运维库和模块
2018/02/12 Python
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
应届毕业生应聘自荐信范文
2014/02/26 职场文书
各营销点岗位职责范本
2014/03/05 职场文书
委托书范文
2014/04/02 职场文书
师德师风个人反思
2014/04/28 职场文书
党建工作先进材料
2014/05/02 职场文书
人民调解协议书范本
2014/10/11 职场文书
2014年效能监察工作总结
2014/11/21 职场文书
2014年设计师工作总结
2014/11/25 职场文书
化验员岗位职责
2015/02/14 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
初中物理教学反思
2016/02/19 职场文书
go语言使用Casbin实现角色的权限控制
2021/06/26 Golang
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis