uniapp 创建简单的tabs
tabs组件
<template>
<view class="tabs">
<view class="bar" :style="barStyle"><view class="inner"></view></view>
<view v-for="(it, index) of tabs" :key="it" class="item" :class="{ active: active === index }" @click="onClick(index, $event)">
<text>{{ it }}</text>
</view>
</view>
</template>
<script>
export default {
name: 'my-tabs',
props: {
tabs: {
type: Array,
default: () => []
},
// 选中默认index
active: {
type: Number,
default: 0
}
},
data() {
return {
barStyle: {
transform: 'translateX(0%)'
}
};
},
methods: {
onClick(index, $event) {
this.$emit('onClick', index);
if (index !== this.active) {
this.$emit('onChange', index);
}
}
},
watch: {
tabs: {
handler: function(val) {
this.barStyle.width = `${100 / val.length}%`;
},
immediate: true
},
active: {
handler: function(val) {
// animated
this.barStyle.transform = `translateX(${val * 100}%)`;
},
immediate: true
}
}
};
</script>
<style lang="stylus" scoped>
.tabs
position relative
display flex
align-items center
background-color #fff
.item
display flex
flex 1
align-items center
justify-content center
padding 30rpx
font-size 30rpx
transition ease 0.3s
&.active
color red
transition color ease 0.3s
.bar
position absolute
left 0
bottom 0
height 6rpx
transition transform ease 0.3s
display flex
align-items center
justify-content center
.inner
width 100%
height 100%
box-sizing border-box
margin 0 20rpx
border-radius 18rpx
background-color red
</style>
使用
<myTabs :tabs="tabs" :active="active" @onChange="active = $event"></myTabs>
<view v-if="active == 0" class="list1">list1</view>
<view v-if="active == 1" class="list2">list2</view>
import myTabs from '@/shared/widgets/my-tabs.vue';
export default {
components: { myTabs },
data() {
return {
tabs: ['t0', 't1'],
active: 0
};
},
methods: {}
};

uniapp 创建简单的tabs的更多相关文章
- [.NET] WebApi 生成帮助文档及顺便自动创建简单的测试工具
==========最终的效果图========== ==========下面开始干活:生成帮助文档========== 一.创建 WebApi 项目 二.找到 HelpPageConfig.cs 并 ...
- Web Service 的创建简单编码、发布和部署
最近,老大准备将已有的C/S架构项目中的通信部分做成通用,需要将其支持WebService为以后项目向着B/S架构升级做好铺垫,为此身为屌丝的我去各种百度WebService是个什么卵玩意,然后逐渐搭 ...
- Azure PowerShell (5) 使用Azure PowerShell创建简单的Azure虚拟机和Linux虚拟机
<Windows Azure Platform 系列文章目录> 本文介绍的是国外的Azure Global.如果是国内由世纪互联运维的Azure China,请参考这篇文档: Azure ...
- myeclipse(2015)中创建简单的Maven项目的步骤(用于生成可执行jar文件)------》myeclipse2015
利用MyEclipse的引导,可以很方便的创建简单的.用于生成可执行jar文件的Maven项目: 1.New -> Project... 选择 Maven Project, 点击Next > ...
- 使用Visual Studio创建简单的自己定义Web Part 部件属性
使用Visual Studio创建简单的自己定义Web Part 部件属性 自己定义属性使用额外的选项和设置拓展你的Web part部件.本文主要解说怎样使用Visual Studio创建简单的自己定 ...
- C链表之创建简单静态链表
C代码: #include<stdio.h> #include<stdlib.h> #include<malloc.h> //创建简单静态链表 typedef st ...
- 使用Visual Studio 2010 创建简单的Silverlight应用程序
使用Visual Studio 2010 创建简单的Silverlight应用程序 Silverlight是创建动态的引人的RIAs(Rich Internet Application)的新方法.这里 ...
- 创建简单的响应式HTML5模版
创建简单的响应式HTML5模版 HTML5目前发展势头良好,已经逐渐得到大部分浏览器不同程度的支持.许多web开发者也已经学习到了不少关于HTML 5的基础知识并开始试图使用HTML 5制作网页.与此 ...
- django初探-创建简单的博客系统
django第一步 1. django安装 pip install django print(django.get_version()) 查看django版本 2. 创建项目 打开cmd,进入指定目录 ...
随机推荐
- JavaScript 类型、原型与继承学习笔记
目录 一.概览 二.数据类型 1. JavaScript中的数据类型 2. 什么是基本类型(Primitive Data Type) 2.1 概念 2.2 七个基本类型 2.3 基本类型封装对象 3. ...
- spring MVC 3.2中@ResponseBody(Post接口)返回乱码的完美解决方案
本来因为ajax跨域http远程调用时有问题,在服务端响应时用以下方式解决了,但IE8及下有问题. response.addHeader("Access-Control-Allow-Orig ...
- cassandra权威指南读书笔记--引言概要
数据库事务正确执行的四个基本要素事务要有四个基本要素:ACID:原子性(Atomic).一致性(Consistent).隔离性(Isolated).持久性(Durable)原子性(Atomic):整个 ...
- 《进击吧!Blazor!》第一章 4.数据交互
<进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门系列视频,此系列能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:https://s ...
- hdu4352 XHXJ's LIS (数位dp)
Problem Description #define xhxj (Xin Hang senior sister(学姐)) If you do not know xhxj, then careful ...
- 关于贪心算法的经典问题(算法效率 or 动态规划)
如题,贪心算法隶属于提高算法效率的方法,也常与动态规划的思路相挂钩或一同出现.下面介绍几个经典贪心问题.(参考自刘汝佳著<算法竞赛入门经典>).P.S.下文皆是我一个字一个字敲出来的,绝对 ...
- python实现通过指定浏览器免费观看vip视频
程序是先通过一个解析视频的网站,然后我们提取其接口,然后实现观看vip视频的目的 所以说免费观看视频python程序很容易,但是下载视频就有些许麻烦了,下载视频请见我另一篇博客:python+fidd ...
- 571A Lengthening Sticks
time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...
- hdu5371 Hotaru's problem
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission ...
- 牛客练习赛71 C.数学考试 (DP,容斥原理)
题意:RT 题解:先对\(p\)排个序,然后设\(dp[i]\)表示前\(i-1\)个\(p[i]\)满足条件但是\(p[i]\)不满足,即在\([1,p[i]]\)中不存在从\(p[1]\)到\(p ...