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 相关文章推荐
如果文字过长,则将过长的部分变成省略号显示
Jun 26 Javascript
javascript 检测浏览器类型和版本的代码
Sep 15 Javascript
yepnope.js 异步加载资源文件
Sep 08 Javascript
jQuery Ajax File Upload实例源码
Dec 12 Javascript
Node.js的特点详解
Feb 03 Javascript
vue2.0 常用的 UI 库实例讲解
Dec 12 Javascript
JS控制鼠标拒绝点击某一按钮的实例
Dec 29 Javascript
JavaScript循环遍历你会用哪些之小结篇
Sep 28 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
Mar 27 Javascript
eslint 的三大通用规则详解
May 16 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
Sep 03 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函数解决SQL injection
2006/12/09 PHP
php json_encode奇怪问题说明
2011/09/27 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
windows中为php安装mongodb与memcache
2015/01/06 PHP
jQuery Ajax使用 全解析
2010/12/15 Javascript
JS.elementGetStyle(element, style)应用示例
2013/09/24 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
如何防止JavaScript自动插入分号
2015/11/05 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
详解javascript跨浏览器事件处理程序
2016/03/27 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
2017/02/08 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
Vue隐藏显示、只读实例代码
2018/07/18 Javascript
在vue中使用v-bind:class的选项卡方法
2018/09/27 Javascript
浅谈Webpack多页应用HMR卡住问题
2019/04/24 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
Python 创建子进程模块subprocess详解
2015/04/08 Python
python下os模块强大的重命名方法renames详解
2017/03/07 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
python实现最大优先队列
2019/08/29 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
浅析Python的命名空间与作用域
2020/11/25 Python
JPA的优势都有哪些
2013/07/04 面试题
ktv中秋节活动方案
2014/01/30 职场文书
暑假家长评语大全
2014/04/17 职场文书
开展党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2015年路政工作总结
2015/05/22 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python
MYSQL常用函数介绍
2022/05/05 MySQL