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 插件模板 制作jquery插件的朋友可以参考下
Mar 17 Javascript
jquery 添加节点的几种方法介绍
Sep 04 Javascript
javascript制作sql转换为stringBuffer的小工具
Apr 03 Javascript
如何使用HTML5地理位置定位功能
Apr 27 Javascript
JS实现简洁、全兼容的拖动层实例
May 13 Javascript
详解JavaScript中的forEach()方法的使用
Jun 08 Javascript
Javascript字符串常用方法详解
Jul 21 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
Apr 11 jQuery
ES6 javascript中class类的get与set用法实例分析
Oct 30 Javascript
vue中axios实现数据交互与跨域问题
May 12 Javascript
jQuery实现轮播图源码
Oct 23 jQuery
vue render函数动态加载img的src路径操作
Oct 26 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实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
详解yii2使用多个数据库的案例
2017/06/16 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
2019/10/10 PHP
JavaScript关于select的相关操作说明
2010/01/13 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
js跳转页面方法总结
2014/01/29 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
2017/05/11 Javascript
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
2017/08/10 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
vue项目每30秒刷新1次接口的实现方法
2018/12/04 Javascript
JS中min函数实例讲解
2019/02/18 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
JavaScript原生数组函数实例汇总
2020/10/14 Javascript
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
用C++封装MySQL的API的教程
2015/05/06 Python
python搭建虚拟环境的步骤详解
2016/09/27 Python
详解python异步编程之asyncio(百万并发)
2018/07/07 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
由面试题加深对Django的认识理解
2019/07/19 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
Python ORM框架Peewee用法详解
2020/04/29 Python
Python基于smtplib协议实现发送邮件
2020/06/03 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
remote接口和home接口主要作用
2013/05/15 面试题
活动倡议书范文
2014/05/13 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python
python编程项目中线上问题排查与解决
2021/11/01 Python
Mysql忘记密码解决方法
2022/02/12 MySQL