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 相关文章推荐
[IE&amp;FireFox兼容]JS对select操作
Jan 07 Javascript
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
May 27 Javascript
javascript来定义类的规范小结
Nov 19 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
Jun 21 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
Jan 12 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
Sep 23 Javascript
微信小程序 开发指南详解
Sep 27 Javascript
原生js编写基于面向对象的分页组件
Dec 05 Javascript
vue插件vue-resource的使用笔记(小结)
Aug 04 Javascript
JavaScript实现快速排序的方法分析
Jan 10 Javascript
Vue项目中使用flow做类型检测的方法
Mar 18 Javascript
vue中利用three.js实现全景图的完整示例
Dec 07 Vue.js
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使用fopen创建utf8编码文件的方法
2014/10/31 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
javascript 学习笔记(六)浏览器类型及版本信息检测代码
2011/04/08 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
html的DOM中document对象anchors集合用法实例
2015/01/21 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
javascript中使用未定义变量或值的情况分析
2016/07/19 Javascript
基于slideout.js实现移动端侧边栏滑动特效
2016/11/28 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
Python语言的面相对象编程方式初步学习
2016/03/12 Python
浅析Python基础-流程控制
2016/03/18 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
2018/07/09 Python
python递归下载文件夹下所有文件
2019/08/31 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
全网最详细的PyCharm+Anaconda的安装过程图解
2021/01/25 Python
matplotlib部件之套索Lasso的使用
2021/02/24 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
2018/03/02 HTML / CSS
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
机械设计专业应届生求职信
2013/11/21 职场文书
函授教育个人学习的自我评价
2013/12/31 职场文书
干部培训自我鉴定
2014/01/22 职场文书
运动会广播稿150字
2014/02/19 职场文书
五年级学生评语
2014/04/22 职场文书
护士医德医风自我评价
2014/09/15 职场文书
五好家庭申报材料
2014/12/20 职场文书
小学教师求职信范文
2015/03/20 职场文书
新党员入党决心书
2015/09/22 职场文书
2016年“六一儿童节”校园广播稿
2015/12/17 职场文书
2016道德模范先进事迹材料
2016/02/26 职场文书
在Centos 8.0中安装Redis服务器的教程详解
2022/03/21 Redis
vue router 动态路由清除方式
2022/05/25 Vue.js