vue实现选项卡切换--不用ui库
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库的更多相关文章
- vue实现选项卡切换效果
效果如下: 说明: 这里我使用的原理是利用vue中的v-show/显示隐藏指令,当为true的时候显示,为false的时候隐藏 1html代码: <head> <meta chars ...
- Vue实现选项卡切换
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 通过UI库深入了解Vue的插槽的使用技巧
Vue官网对于插槽的介绍比较简略,插槽本身也比较"烧脑",很容易看晕,我就一直没看懂,直到 使用了element-plus的组件的插槽. 其实我们可以换一个角度来理解插槽,就会豁然 ...
- vue常见前端UI库
vue常见前端UI库 VUE资源汇总:https://github.com/RuMengkai/awesome-vue VUX 项目主页:https://vux.li/#/ github地址:http ...
- ElementUI(vue UI库)、iView(vue UI库)、ant design(react UI库)中组件的区别
ElementUI(vue UI库).iView(vue UI库).ant design(react UI库)中组件的区别: 事项 ElementUI iView ant design 全局加载进度条 ...
- 用C++写UI库最本质的思想就是不用C++写UI(如何用 C++ 从零编写 GUI?内含多个开源UI作者的回复,非常精彩)
作者:Bingo链接:https://www.zhihu.com/question/24462113/answer/83371803来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- vue中使用第三方UI库的移动端rem适配方案
需求:使用vue-cli脚手架搭建项目,并且使用第三方的UI库(比如vant,mint ui)的时候,因为第三方库用的都是用px单位,无法使用rem适配不同设备的屏幕. 解决办法:使用px2rem-l ...
- vue实现tab选项卡切换效果
tab选项卡切换效果: 通过点击事件传入参数,然后通过v-show来进行切换显示 <template> <div class="box"> <div ...
- 移动Web UI库(H5框架)
1.Framework7 Framework7 - is a free and open source mobile HTML framework to develop hybrid mobile a ...
随机推荐
- frp 内网穿透访问内网Web服务
ps:最近想要通过域名(公网)访问或者测试在本地搭建的 web 服务(不想在公网IP服务器上再部署个服务,也不想通过teamview等工具远程卡到爆!), 由于本地机器没有公网 IP,无法将域名解析到 ...
- UICollectionViewCell设置阴影
//@mg:masksToBounds必须为NO否者阴影没有效果 // cell.layer.masksToBounds = NO; cell.layer.contentsScale = [UIScr ...
- docker 编译开发代码做镜像
文件目录 Dockerfile 是docker制作镜像的文件,docker_run.sh是sh文件,gin_test是go编译之后的linux可执行程序,gintest.env是配置文件夹 首先写一个 ...
- Markdown怎么使用制表符TAB键?为什么TAB失灵了?
目录 问题描述 解决办法 问题描述 我们写文章(Markdown文章)的时候,经常想使用自然段标记划分段落,可是我们会发现,不管是任何编辑器,tab键都没有用,怎么办? 解决办法 语法: 文章- ...
- Spark实战--寻找5亿次访问中,访问次数最多的人
问题描述 对于一个大型网站,用户访问量尝尝高达数十亿.对于数十亿是一个什么样的概念,我们这里可以简单的计算一下.对于一个用户,单次访问,我们通常会记录下哪些数据呢? 1.用户的id 2.用户访问的时间 ...
- C# 获取系统所有字体
获取已安装的所有字体列表 System.Drawing.FontFamily StringBuilder str = ); InstalledFontCollection fonts = new In ...
- Linux学习第六天
学习Linux环境下的挂载命令. 什么是挂载命令? 1.Windows下,mount挂载,就是给磁盘分区提供一个盘符(C,D,E,...).比如插入U盘后系统自动分配给了它I:盘符其实就是挂载,退优盘 ...
- DOTNET CORE源码分析之IOC容器结果获取内容补充
补充一下ServiceProvider的内容 可能上一篇文章DOTNET CORE源码分析之IServiceProvider.ServiceProvider.IServiceProviderEngin ...
- LeetCode42题,单调栈、构造法、two pointers,这道Hard题的解法这么多?
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题的第23篇文章. 今天来看一道很有意思的题,它的难度是Hard,并且有许多种解法. 首先我们来看题面,说是我们有若 ...
- [AFO·游记]我的C++451天游击战
写在前面 05/10/19 今天心情很糟糕,没学新东西,复习没复习,作业没写完,下午要网课,明天要月考,脑子里就像是被一团棉花塞住了.静静的思考了半个小时,把自己手头上的事情排了个序,所以决定先把游记 ...