wepy小程序实现选项卡
先上效果:

本文是基于前面几篇文章:
正文开始:
1.新建一个需要选项卡的页面
(1)pages下面其他页面复制一份,修改文件名,删掉内容,保留结构。pages/tab.wpy
(2)打开app.wpy,config里面添加页面路由
config = {
pages: [
'pages/home', // 首页
'pages/category', // 分类
'pages/cart', // 购物车
'pages/member', // 会员中心
'pages/list', // 列表页
'pages/tab' // 选项卡演示页
],
}
(3)在首页home.wpy添加一个导航,作为选项卡演示页的入口
<template>
<view class="container">
<view class="nav">
<navigator url="/pages/list">演示上拉加载列表</navigator>
<navigator url="/pages/tab">选项卡</navigator>
</view>
</view>
</template>
现在2个导航了,是时候美化一下,css如下:
.nav {
text-align: center;
padding: 20rpx;
navigator {
margin-bottom: 30rpx;
background-color: #f5f5f5;
border-radius: 10rpx;
line-height: 48rpx;
padding: 10rpx 50rpx;
color: #333;
}
}
2.选项卡布局
打开tab.wpy
(1)静态布局
tempate结构代码:
<template>
<view>
<!-- 选项卡导航 -->
<view class="swiper-tab">
<view wx:for="{{tabList}}" wx:key="index" class="swiper-tab-list {{currentTab==index ? 'active' : ''}}" bindtap="switchNav({{index}})">
{{item.name}}
<view class="dot" wx:if="{{item.dotNum>0}}">{{item.dotNum}}</view>
</view>
</view>
<!-- 切换的内容 -->
<view class="tab-content" wx:if="{{currentTab===0}}">选项卡演示内容1111111</view>
<view class="tab-content" wx:if="{{currentTab===1}}">选项卡演示内容2222222</view>
<view class="tab-content" wx:if="{{currentTab===2}}">选项卡演示内容3333333</view>
</view>
</template>
css:
.swiper-tab {
width: 100%;
border-bottom: 1rpx solid #eee;
text-align: center;
line-height: 80rpx;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
background: #fff;
}
.swiper-tab-list {
font-size: 30rpx;
color: #777777;
padding: 0 40rpx;
position: relative;
}
.active {
color: #eb6623;
border-bottom: 5rpx solid #eb6623;
}
.dot {
position: absolute;
display: flex;
width: 37rpx;
height: 35rpx;
line-height: 40rpx;
text-align: center;
align-items: center; /* 垂直居中 */
justify-content: center; /* 水平居中 */
background: #eb6623;
border-radius: 100px;
color: #fff;
z-index:;
font-size: 26rpx;
top:;
right: 10rpx;
}
.tab-content {
text-align: center;
padding: 100rpx 50rpx;
}
js data对象:
data = {
tabList: [
{
name: '未使用',
dotNum: 2
},
{
name: '已使用',
dotNum: 3
},
{
name: '已过期',
dotNum: 10
}
],
currentTab: 0
}
(2)点击切换
methods= {
switchNav(i, e) {
if (this.currentTab === i) {
return false
} else {
this.currentTab = i
this.$apply()
}
}
}
记得执行 npm run dev ,再打开微信开发者工具预览效果哟~
最终效果如开头的图
谢谢!
wepy小程序实现选项卡的更多相关文章
- WePY | 小程序组件化开发框架
资源连接: WePY | 小程序组件化开发框架 WePYAWESOME 微信小程序wepy开发资源汇总 文档 GITHUB weui WebStorm/PhpStorm 配置识别 *.wpy 文件代码 ...
- 快速入门 WePY 小程序【转】
一.WePY介绍 WePY 是 腾讯 参考了Vue 等框架对原生小程序进行再次封装的框架,更贴近于 MVVM 架构模式, 并支持ES6/7的一些新特性. 二.WePY 使用 1.WePY的安装或更新都 ...
- 【小程序开放激励视频】--wepy小程序添加激励视频
小程序开放激励视频是对小程序开发者一个福音,小程序开发者可以完成一些变现,以增加收入! 本文章针对已经有开发经验或者正在进行小程序开发的同学~ 官方文档:激励视频广告 定义页面变量,用于创建视频实例 ...
- 【WePY小程序框架实战四】-使用async&await异步请求数据
[WePY小程序框架实战一]-创建项目 [WePY小程序框架实战二]-页面结构 [WePY小程序框架实战三]-组件传值 async await 是对promise的近一步优化,既解决了promise链 ...
- 【WePY小程序框架实战三】-组件传值
[WePY小程序框架实战一]-创建项目 [WePY小程序框架实战二]-页面结构 父子组件传值 静态传值 静态传值为父组件向子组件传递常量数据,因此只能传递String字符串类型. 父组件 (paren ...
- 【WePY小程序框架实战二】-页面结构
[WePY小程序框架实战一]-创建项目 项目结构 |-- dist |-- node_modules |-- src | |-- components |-- a.wpy |-- b.wpy |-- ...
- 微信小程序Tab选项卡切换大集合
代码地址如下:http://www.demodashi.com/demo/14028.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...
- wepy小程序实现列表分页上拉加载(2)
第一篇:wepy小程序实现列表分页上拉加载(1) 本文接着上一篇内容: 4.优化-添加加载动画 (1)首先写加载动画的结构和样式 打开list.wpy文件 template结构代码: <temp ...
- wepy小程序实现列表分页上拉加载(1)
使用wepy开发微信小程序商城第一篇:项目初始化 使用wepy开发微信小程序商城第二篇:路由配置和页面结构 列表页效果图: 1.新建列表页 (1)在pages里面新建一个list.wpy文件 初始代码 ...
随机推荐
- Windows下快速安装CACTI流量监控
Windows下快速安装CACTI流量监控 原文 http://os.51cto.com/art/201111/300977.htm CACTI是一套PHP程序,它利用SNMPGET采集数据,使用R ...
- C#接口,类,集成
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- dreamweaver 8的替换功能
dreamweaver 8的替换功能 下面教你用dreamweaver 8的替换功能来删除这些冗余代码. 查找范围:文件夹(然后选取你需要替换的文件夹) 搜索:源代码查找:\btppabs=" ...
- POJ 2181 贪心
思路: 贪心 对于每个波浪 ans+=最大值-最小值 注意最后一定是选最大值 //By SiriusRen #include <cstdio> using namespace std; i ...
- 跨域使用onmessage实现方式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JSP_Learn
// 解决中文乱码的问题String name = new String((request.getParameter("name")).getBytes("ISO-885 ...
- JS原生方法被覆盖后的恢复办法
alert 被覆盖 今天装修博客园,调试了下JS代码发现 alert() 方法被官方覆盖了,查看源码得知 alert 的功能被替换成了 console.log. 恢复 var _frame = doc ...
- 【hihocoder 1369】网络流一·Ford-Fulkerson算法
[Link]:http://hihocoder.com/problemset/problem/1369 [Description] [Solution] 最大流模板题 [NumberOf WA] [R ...
- hdoj-1289-A Bug's Life【种类并查集】
A Bug's Life Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- IE兼容性开发的笔记
当前项目组开发的产品对外承诺支持IE9和IE11,但在推广应用过程中发现存在相当比例的用户实际上还在使用IE8.而这相当比例中的用户还包含了大部分的公司领导.为了满足公司内部各阶层人士体验我们产品的诉 ...