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 相关文章推荐
jquery插件制作 自增长输入框实现代码
Aug 17 jQuery
JavaScript实现瀑布流布局
Jun 28 Javascript
javascript实现简单的ajax封装示例
Dec 28 Javascript
Node+Express+MongoDB实现登录注册功能实例
Apr 23 Javascript
如何在AngularJs中调用第三方插件库
May 21 Javascript
js脚本编写简单刷票投票系统
Jun 27 Javascript
Node.js+Express+MySql实现用户登录注册功能
Jul 10 Javascript
JS插件clipboard.js实现一键复制粘贴功能
Dec 04 Javascript
Vue Element UI + OSS实现上传文件功能
Jul 31 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
Nov 01 Javascript
vue实现扫码功能
Jan 17 Javascript
Vue3 响应式侦听与计算的实现
Nov 11 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
再次研究下cache_lite
2007/02/14 PHP
php面向对象全攻略 (十二) 抽象方法和抽象类
2009/09/30 PHP
php IP转换整形(ip2long)的详解
2013/06/06 PHP
解析csv数据导入mysql的方法
2013/07/01 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
Yii框架创建cronjob定时任务的方法分析
2017/05/23 PHP
jQuery 操作option的实现代码
2011/03/03 Javascript
js实现幻灯片效果(基于jquery插件)
2013/11/05 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
2014/06/24 Javascript
用js通过url传参把数据从一个页面传到另一个页面
2014/09/01 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
2016/07/05 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
详解vue-cli项目中用json-sever搭建mock服务器
2017/11/02 Javascript
关于微信小程序登录的那些事
2019/01/08 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
[01:32]2014DOTA2西雅图邀请赛 CIS我们有信心进入正赛
2014/07/08 DOTA
python使用json序列化datetime类型实例解析
2018/02/11 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
python处理multipart/form-data的请求方法
2018/12/26 Python
python字符串替换第一个字符串的方法
2019/06/26 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
FFT快速傅里叶变换的python实现过程解析
2019/10/21 Python
浅谈keras中的目标函数和优化函数MSE用法
2020/06/10 Python
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
班队活动设计方案
2014/01/30 职场文书
医学专业职业生涯规划范文
2014/02/05 职场文书
2014政务公开实施方案
2014/02/19 职场文书
培训班主持词
2014/03/28 职场文书
责任心演讲稿
2014/05/14 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书