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 相关文章推荐
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
Oct 29 Javascript
js切换光标示例代码
Oct 10 Javascript
判断滚动条到底部的JS代码
Nov 04 Javascript
jquery text()方法取标签中的文本
Jul 25 Javascript
jquery插件EasyUI中form表单提交实例分享
Jan 11 Javascript
有关jQuery中parent()和siblings()的小问题
Jun 01 Javascript
微信小程序(应用号)开发新闻客户端实例
Oct 24 Javascript
Bootstrap标签页(Tab)插件使用方法
Mar 21 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
Jun 16 Javascript
解决vue项目打包后提示图片文件路径错误的问题
Jul 04 Javascript
js HTML DOM EventListener功能与用法实例分析
Apr 27 Javascript
Vue使用Element实现增删改查+打包的步骤
Nov 25 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牛逼的面试题分享
2013/01/18 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
javascript if条件判断方法小结
2014/05/17 Javascript
JavaScript插件化开发教程 (一)
2015/01/27 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
分享使用AngularJS创建应用的5个框架
2015/12/05 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
[45:38]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第一局
2016/03/02 DOTA
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
python基础教程之udp端口扫描
2014/02/10 Python
python打开网页和暂停实例
2014/09/30 Python
Python中input与raw_input 之间的比较
2017/08/20 Python
简单了解python模块概念
2018/01/11 Python
python安装教程
2018/02/28 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
python实现逐个读取txt字符并修改
2018/12/24 Python
三个python爬虫项目实例代码
2019/12/28 Python
完美解决Django2.0中models下的ForeignKey()问题
2020/05/19 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
html5中如何将图片的绝对路径转换成文件对象
2018/01/11 HTML / CSS
HTML5在a标签内放置块级元素示例代码
2013/08/23 HTML / CSS
国际性能运动服装品牌:Dare 2b
2018/07/27 全球购物
英国时尚首饰品牌:Missoma
2020/06/29 全球购物
华为C++笔试题
2014/08/05 面试题
房地产开盘策划方案
2014/02/10 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
《画杨桃》教学反思
2014/04/13 职场文书
竞选劳动委员演讲稿
2014/04/28 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
css实现文章分割线样式的多种方法总结
2021/04/21 HTML / CSS
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python