• 售前

  • 售后

热门帖子
入门百科

vue二选一tab栏切换新做法实现

[复制链接]
清风哥 显示全部楼层 发表于 2021-10-25 19:48:14 |阅读模式 打印 上一主题 下一主题
题目形貌


在我们做项目的过程中,有时间会要做一些tab栏切换结果。有两个tab的,有三个tab的,以致有五六七八个tab的。平常我们直接拿饿了么的tab组件用就行了,但是偶然本身闲着没事,本身写个两个tab切换结果的,即二选一结果。闲话少说,上动态结果图


本案例适合两个tab的(三个tab的可以仿照我的写,如果是四五个tab用饿了么组件会更快些)

代码如下


HTML部分
  1. <template>
  2. <div id="app">
  3.   <div class="tabWrap">
  4.    <!-- 这个结构是tab导航,并给其绑定对应的点击事件,在点击事件的回调中
  5.    去控制对应内容的显示隐藏和样式的修改即:tab的切换-->
  6.    <div class="tabNav">
  7.     <div class="navOne" @click="tabOne">tab1</div>
  8.     <div class="navTwo" @click="tabTwo">tab2</div>
  9.    </div>
  10.    <!-- 这个结构是tab导航对应的内容 -->
  11.    <div class="tabContent">
  12.     <!-- 通过v-show控制隐藏,同一时刻隐藏一个显示一个,就实现了tab栏的切换效果了 -->
  13.     <div class="navOneBox" v-show="showTabOne">我是切换1</div>
  14.     <div class="navTwoBox" v-show="showTabTwo">i am tab2</div>
  15.    </div>
  16.   </div>
  17. </div>
  18. </template>
复制代码
js部分
  1. <script>
  2. export default {
  3. name: "app",
  4. data() {
  5.   return {
  6.    showTabOne: true, // 二选一tab切换
  7.    showTabTwo: false, // 二选一tab切换
  8.   };
  9. },
  10. methods: {
  11.   // 二选一tab栏切换
  12.   tabOne() {
  13.    /*
  14.     点击tab1的时候,让tab1显示,tab2隐藏,即showTabOne为true,showTabTwo为false
  15.     同时修改tab1的样式使其"高亮",注意不要忘了修改tab2的样式,使其"不高亮"。
  16.     点击tab2的时候,也是同理。
  17.    */
  18.    this.showTabOne = true;
  19.    this.showTabTwo = false;
  20.    document.querySelector(".navOne").style.backgroundColor = "#fff";
  21.    document.querySelector(".navTwo").style.backgroundColor = "#e3e3e3";
  22.    document.querySelector(".navOne").style.color = "#3985EC";
  23.    document.querySelector(".navTwo").style.color = "#80868D";
  24.   },
  25.   // 二选一tab栏切换
  26.   tabTwo() {
  27.    this.showTabTwo = true;
  28.    this.showTabOne = false;
  29.    document.querySelector(".navOne").style.backgroundColor = "#e3e3e3";
  30.    document.querySelector(".navTwo").style.backgroundColor = "#fff";
  31.    document.querySelector(".navTwo").style.color = "#3985EC";
  32.    document.querySelector(".navOne").style.color = "#80868D";
  33.   },
  34. },
  35. };
  36. </script>
复制代码
css部分
  1. <style lang="less">
  2. .tabNav {
  3. width: 126px;
  4. height: 30px;
  5. border-radius: 2px;
  6. background-color: #e3e3e3;
  7. display: flex;
  8. align-items: center;
  9. justify-content: space-evenly;
  10. .navOne {
  11.   width: 60px;
  12.   height: 26px;
  13.   border-radius: 2px;
  14.   background-color: #fff;
  15.   color: #3985ec;
  16.   font-size: 14px;
  17.   font-weight: 500;
  18.   display: flex;
  19.   justify-content: center;
  20.   align-items: center;
  21.   cursor: pointer;
  22. }
  23. .navTwo {
  24.   width: 60px;
  25.   height: 26px;
  26.   color: #80868d;
  27.   border-radius: 2px;
  28.   font-size: 14px;
  29.   font-weight: 500;
  30.   display: flex;
  31.   justify-content: center;
  32.   align-items: center;
  33.   cursor: pointer;
  34. }
  35. }
  36. .tabContent {
  37. margin-top: 8px;
  38. .navOneBox {
  39.   background-color: #bfa;
  40. }
  41. .navTwoBox {
  42.   background-color: #baf;
  43. }
  44. }
  45. </style>
复制代码
到此这篇关于vue二选一tab栏切换新做法实现的文章就先容到这了,更多相关vue tab栏切换内容请搜索草根技术分享以前的文章或继承欣赏下面的相关文章希望各人以后多多支持草根技术分享!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作