vue中tab选项卡的实现思路


Posted in Javascript onNovember 25, 2018

今天分享下vue中tab选项卡的套路,废话不多说,直接上效果图

vue中tab选项卡的实现思路

应用场景

•不同注册和登录方式切换
•操作选项切换 如保存和取消
•后台管理系统中各菜单选项切换等
•新闻标题分类切换 如关注 推荐 热点等分类

主要思路

•点击不同 tab 获取 tab 选项卡下标并为其动态绑定一个class(选中状态时的样式)
•点击时使 tab 对应的内容下标与 tab 选项卡下标保持一致
•使用 v-show / v-if 指令控制内容显示与隐藏

代码如下

<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>tab</title>
 <script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
 <style>
 html,
 body {
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: #58596b;
 }
 .active {
  color: #fff;
  background: #e74c3c;
 }
 #app {
  width: 800px;
  height: 400px;
  margin: 100px auto;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
 }
 .menuList {
  width: 800px;
  height: 60px;
  background-color: #33344a;
 }
 ul {
  width: 100%;
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  color: #717181;
  font-size: 16px;
  line-height: 60px;
 }
 ul li {
  flex: 1;
  text-align: center;
  cursor: pointer;
 }
 .tabCon {
  width: 700px;
  margin: 0 auto;
  padding: 40px 20px;
  color: #999;
  font-size: 14px;
  background-color: #fff;
 }
 </style>
</head>
<body>
 <div id="app">
 <div class="menuList">
  <ul>
  <li v-for="(item,index) in list" :key="item.id" :class="{active:num==index}" @click="getNum(index)">
   {{item}}
  </li>
  </ul>
 </div>
 <div class="tabCon">
  <div v-for='(itemCon,index) in tabContents' v-show="index == num">
  {{itemCon}}
  </div>
 </div>
 </div>
 <script>
 var app = new Vue({
  el: "#app",
  data() {
  return {
   num: 0,
   list: ["张三丰", "独孤求败", "周伯通"],
   tabContents: [
   "张三丰,名君宝,字符元,道号三丰。武林至尊,民族英雄 、内拳始祖、太极始祖、武学泰斗、龙行书法始祖张三丰集各派绝学于一身,威震武林,造诣已达炼虚合道至高极境 [1] ,元末明初真人,武当山道人,武当派始祖,正史记载宋理宗淳佑七年(1247年) 出生辽东,14岁考取文武状元,18岁担任博陵县令,(1280年)辞官出家修道,拜火龙真人为师,武林盟主张三丰时隐时现,至今行踪不定,清朝道光年间曾出现在峨眉山。", 
   "独孤求败,自号“剑魔”,纵横江湖三十馀载,杀尽仇寇,败尽英雄,天下更无抗手,无可奈何,惟隐居深谷,以雕为友。呜呼,生平求一敌手而不可得,诚寂寥难堪也。在小说中从未出场过,只曾在人物的口中提及。",
   "周伯通不是金大师小说中的主角,也不是塑造的最丰满、最完善的形象,更不是侠客或英雄的代表,而且就武侠小说最基本的要素-武功、武学所达到的境界来说,周伯通也不是绝顶高手,但毫无疑问,周伯通是金大师所塑造的所有人物中最有意思的一位,至少是最有意思的人物之一。"],
  }
  },
  methods: {
  getNum(index) {
   this.num = index;
  }
  }
 })
 </script>
</body>
</html>

总结

以上所述是小编给大家介绍的vue中tab选项卡的实现思路,希望对大家有所帮助,如果大家有任何疑问小编会及时回复大家的!

Javascript 相关文章推荐
使用apply方法处理数组的三个技巧[译]
Sep 20 Javascript
js QQ客服悬浮效果实现代码
Dec 12 Javascript
jquery使用经验小结
May 20 Javascript
js实现简单的联动菜单效果
Aug 19 Javascript
js实现左侧网页tab滑动门效果代码
Sep 06 Javascript
JavaScript中的Number数字类型学习笔记
May 26 Javascript
jQuery控制div实现随滚动条滚动效果
Jun 07 Javascript
AngularJS页面传参的5种方式
Apr 01 Javascript
Vue实现微信支付功能遇到的坑
Jun 05 Javascript
layui的数据表格+springmvc实现搜索功能的例子
Sep 28 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
Jan 29 jQuery
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
Oct 05 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
Nov 25 #Javascript
vscode 开发Vue项目的方法步骤
Nov 25 #Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
Nov 25 #Javascript
electron + vue项目实现打印小票功能及实现代码
Nov 25 #Javascript
vue组件实践之可搜索下拉框功能
Nov 25 #Javascript
详解离线安装npm包的几种方法
Nov 25 #Javascript
vue将单页面改造成多页面应用的方法
Nov 25 #Javascript
You might like
php 生成饼图 三维饼图
2009/09/28 PHP
php while循环得到循环次数
2013/10/26 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
关于PHP文件的自动运行方法分析
2016/05/13 PHP
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/25 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
2014/05/15 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
11种ASP连接数据库的方法
2015/09/18 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
AngularJS 模块详解及简单实例
2016/07/28 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
AngularJS 2.0入门权威指南
2016/10/08 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
初学vue出现空格警告的原因及其解决方案
2019/10/31 Javascript
微信小程序跨页面传递data数据方法解析
2019/12/13 Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
2020/08/04 Javascript
python之import机制详解
2014/07/03 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
2016/05/28 Python
python删除某个字符
2018/03/19 Python
pandas ix &amp;iloc &amp;loc的区别
2019/01/10 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
Python读取YAML文件过程详解
2019/12/30 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
征婚广告词
2014/03/17 职场文书
写给导师的自荐信
2015/03/06 职场文书
最新的离婚协议书范本!
2019/07/02 职场文书
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript