vue中tab選項卡的實現思路

今天給大家分享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/[email protected]/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選項卡的實現思路,希望對大家有所幫助,如果大家有任何疑問小編會及時回覆大家的!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章