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 相关文章推荐
基于JQuery的一句代码实现表格的简单筛选
Jul 26 Javascript
Jquery中获取iframe的代码
Jan 11 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
Aug 12 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
Dec 01 Javascript
jQuery中[attribute]选择器用法实例
Dec 31 Javascript
C++中的string类的用法小结
Aug 07 Javascript
深入理解vue.js双向绑定的实现原理
Dec 05 Javascript
JQuery中Ajax的操作完整例子
Mar 07 Javascript
详解微信小程序实现WebSocket心跳重连
Jul 31 Javascript
vue项目中使用bpmn为节点添加颜色的方法
Apr 30 Javascript
OpenLayers3实现图层控件功能
Sep 25 Javascript
VUE实现吸底按钮
Mar 04 Vue.js
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 全局变量范围分析
2009/08/07 PHP
浅析php创建者模式
2014/11/25 PHP
php 数组元素快速去重
2017/05/05 PHP
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
简单实例处理url特殊符号&amp;处理(2种方法)
2013/04/02 Javascript
JavaScript原生对象之String对象的属性和方法详解
2015/03/13 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
2016/04/12 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
基于ajax与msmq技术的消息推送功能实现代码
2016/12/26 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
python实现html转ubb代码(html2ubb)
2014/07/03 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Anaconda多环境多版本python配置操作方法
2017/09/12 Python
Python实现的绘制三维双螺旋线图形功能示例
2018/06/23 Python
python调用摄像头拍摄数据集
2019/06/01 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
Python学习笔记之装饰器
2020/08/06 Python
Python爬虫过程解析之多线程获取小米应用商店数据
2020/11/14 Python
灵活运用CSS3特性绘制简易版围棋效果
2016/09/28 HTML / CSS
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
印度尼西亚在线时尚购物网站:ZALORA印尼
2016/08/02 全球购物
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
美国健康和保健平台:healtop
2020/07/02 全球购物
医院实习介绍信
2014/01/12 职场文书
大学生创业计划书
2014/08/14 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书