vue的ui库中基本都有选项卡切换的组件,但是在项目开发过程中却不一定能很好的为我们所用,因为里面的样式和 一些状态并不能很好的根据我们的项目需求进行定制.最近项目中使用的是vant-ui中的标签页,也就是选项卡,项目需要选项卡中的内容overFLow:auto,但是无论怎么设置,上面的选项都会跟着一起滚动,实在是头疼的很,所以决定,自行解决吧.

效果图:

需求分析

  • 选项卡点击切换时选项的背景颜色或字体需要变化
  • 选项卡中每个选项的产品数量要根据后端返回数据进行变化
  • 点击选项时下面内容要对应发生改变
  • 滚动时选项不动,只内容发生滚动

下面就直接上成品代码

<template>
<div class="box">
<div class="menu-list">
<div class="total" :class="{active:item.id === sel}" v-for="item in tabs" :key="item.id" @click="select(item)">
{{ item.label }}
<span>
({{item.id==1?num=yxf +ywg +wxz :item.id === 2?num = yxf:item.id === 3?num = ywg:num = wxz}})
</span>
</div>
</div>
<div class="text">
<div class="all" v-show="sel === 1">1111</div>
<div class="all" v-show="sel === 2">222</div>
<div class="all" v-show="sel === 3">333</div>
<div class="all" v-show="sel === 4">444</div>
</div>
</div>
</template>

初始化的数据:

<script>
export default {
data () {
return {
yxf:4,
wxz:5,
ywg:1,
sel:1,
tabs: [
{label: '全部',num:0, id: 1},
{label: '已下发',num: 0, id: 2},
{label: '维修中',num: 0, id: 3},
{label: '已完工',num:0, id: 4},
]
}
},
}
</script>

点击事件:

methods: {
select(item){
this.sel = item.id;
},
},

定义样式:

<style scoped>
.equi_container {
display: flex;
flex-direction: column;
}
.menu-list {
height: 0.44rem;
display: flex;
}
.total{
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
/*height: 100%;*/
/*line-height: 0.44rem;*/
background:#F4FAFF;
color:#4c8fff;
text-align:center;
float:left
}
.total.active {
background: #4c8fff;
color: #FFFFFF;
}
.text{
flex: 1;
overflow: auto;
} </style>

可直接复制代码看效果,如有任何疑问,欢迎屏幕下方留言...

vue实现选项卡切换--不用ui库的更多相关文章

  1. vue实现选项卡切换效果

    效果如下: 说明: 这里我使用的原理是利用vue中的v-show/显示隐藏指令,当为true的时候显示,为false的时候隐藏 1html代码: <head> <meta chars ...

  2. Vue实现选项卡切换

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  3. 通过UI库深入了解Vue的插槽的使用技巧

    Vue官网对于插槽的介绍比较简略,插槽本身也比较"烧脑",很容易看晕,我就一直没看懂,直到 使用了element-plus的组件的插槽. 其实我们可以换一个角度来理解插槽,就会豁然 ...

  4. vue常见前端UI库

    vue常见前端UI库 VUE资源汇总:https://github.com/RuMengkai/awesome-vue VUX 项目主页:https://vux.li/#/ github地址:http ...

  5. ElementUI(vue UI库)、iView(vue UI库)、ant design(react UI库)中组件的区别

    ElementUI(vue UI库).iView(vue UI库).ant design(react UI库)中组件的区别: 事项 ElementUI iView ant design 全局加载进度条 ...

  6. 用C++写UI库最本质的思想就是不用C++写UI(如何用 C++ 从零编写 GUI?内含多个开源UI作者的回复,非常精彩)

    作者:Bingo链接:https://www.zhihu.com/question/24462113/answer/83371803来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  7. vue中使用第三方UI库的移动端rem适配方案

    需求:使用vue-cli脚手架搭建项目,并且使用第三方的UI库(比如vant,mint ui)的时候,因为第三方库用的都是用px单位,无法使用rem适配不同设备的屏幕. 解决办法:使用px2rem-l ...

  8. vue实现tab选项卡切换效果

    tab选项卡切换效果: 通过点击事件传入参数,然后通过v-show来进行切换显示 <template> <div class="box"> <div ...

  9. 移动Web UI库(H5框架)

    1.Framework7 Framework7 - is a free and open source mobile HTML framework to develop hybrid mobile a ...

随机推荐

  1. Python基础-检测密码,一些网站会给密码强加一些规则。

    输入一个字符串,检测是否是合法的密码:1)密码必须包含8个字符2)密码只能包含英文字母和数字3)密码至少包含两个数字 首先我讲一下用到的方法 s为字符串 len(s) 求出字符串的长度. list(s ...

  2. Simulink仿真入门到精通(十六) Simulink基于模型设计的工业应用概述

    16.1 Simulink用途概述 在基于模型设计广泛应用于汽车电子嵌入式开发的今天,MBD(Model Besed Design)技术也逐步推广到各种嵌入式控制方面.与传统的嵌入式开发相比,BMD以 ...

  3. search(1)- elasticsearch结构概念

    上篇提到选择了elasticsearch ES作为专业化搜索引擎的核心,这篇讨论一下ES的基本结构和应用概念.首先,从硬结构方面来讲:ES是在一个集群(cluster)环境里运行的,所以ES应该具备高 ...

  4. [BUG]微信小程序ios时间转换

    描述 小程序ios   new Date('2019-08-14T08:00:00.000+0000')   显示为  <Date: null>. '2019-08-14T08:00:00 ...

  5. AspNetCore3.1_Secutiry源码解析_3_Authentication_Cookies

    系列文章目录 AspNetCore3.1_Secutiry源码解析_1_目录 AspNetCore3.1_Secutiry源码解析_2_Authentication_核心流程 AspNetCore3. ...

  6. try_catch_return

    1.情况一(try中有return,finally中没有return): public class TryTest{ public static void main(String[] args){ S ...

  7. File判断功能(新手)

    //导入的一个类.import java.io.File;/* File判断功能*///创建的一个类.public class zylx3 { //公共静态的主方法. public static vo ...

  8. uni-app 遮罩模板

    1. common新建mask.vue文件. <template> <view> <view class="cpt-mask"> </vi ...

  9. Requests库发送post请求,传入接口参数后报JSON parse error

    报错信息: {"timestamp":"2020-01-08T14:42:40.894+0000","status":400,"e ...

  10. SSI服务器端包含注入

    服务器端嵌入:Server Side Include,是一种类似于ASP的基于服务器的网页制作技术.大多数(尤其是基于Unix平台)的WEB服务器如Netscape Enterprise Server ...