先上效果:

本文是基于前面几篇文章:

使用wepy开发微信小程序商城第一篇:项目初始化

使用wepy开发微信小程序商城第二篇:路由配置和页面结构

使用wepy开发微信小程序商城第三篇:购物车(布局篇)

wepy小程序实现列表分页上拉加载(1)

wepy小程序实现列表分页上拉加载(2)

正文开始:

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小程序实现选项卡的更多相关文章

  1. WePY | 小程序组件化开发框架

    资源连接: WePY | 小程序组件化开发框架 WePYAWESOME 微信小程序wepy开发资源汇总 文档 GITHUB weui WebStorm/PhpStorm 配置识别 *.wpy 文件代码 ...

  2. 快速入门 WePY 小程序【转】

    一.WePY介绍 WePY 是 腾讯 参考了Vue 等框架对原生小程序进行再次封装的框架,更贴近于 MVVM 架构模式, 并支持ES6/7的一些新特性. 二.WePY 使用 1.WePY的安装或更新都 ...

  3. 【小程序开放激励视频】--wepy小程序添加激励视频

    小程序开放激励视频是对小程序开发者一个福音,小程序开发者可以完成一些变现,以增加收入! 本文章针对已经有开发经验或者正在进行小程序开发的同学~ 官方文档:激励视频广告 定义页面变量,用于创建视频实例 ...

  4. 【WePY小程序框架实战四】-使用async&await异步请求数据

    [WePY小程序框架实战一]-创建项目 [WePY小程序框架实战二]-页面结构 [WePY小程序框架实战三]-组件传值 async await 是对promise的近一步优化,既解决了promise链 ...

  5. 【WePY小程序框架实战三】-组件传值

    [WePY小程序框架实战一]-创建项目 [WePY小程序框架实战二]-页面结构 父子组件传值 静态传值 静态传值为父组件向子组件传递常量数据,因此只能传递String字符串类型. 父组件 (paren ...

  6. 【WePY小程序框架实战二】-页面结构

    [WePY小程序框架实战一]-创建项目 项目结构 |-- dist |-- node_modules |-- src | |-- components |-- a.wpy |-- b.wpy |-- ...

  7. 微信小程序Tab选项卡切换大集合

    代码地址如下:http://www.demodashi.com/demo/14028.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...

  8. wepy小程序实现列表分页上拉加载(2)

    第一篇:wepy小程序实现列表分页上拉加载(1) 本文接着上一篇内容: 4.优化-添加加载动画 (1)首先写加载动画的结构和样式 打开list.wpy文件 template结构代码: <temp ...

  9. wepy小程序实现列表分页上拉加载(1)

    使用wepy开发微信小程序商城第一篇:项目初始化 使用wepy开发微信小程序商城第二篇:路由配置和页面结构 列表页效果图: 1.新建列表页 (1)在pages里面新建一个list.wpy文件 初始代码 ...

随机推荐

  1. 54.nodejs nodemailer不兼容

    转自:https://blog.csdn.net/q36835109/article/details/53067917 注:由于本人使用最新版本的nodemailer不兼容,所以目前使用的是0.7.1 ...

  2. javafx checkbox

    public class EffectTest extends Application { public static void main(String[] args) { launch(args); ...

  3. 基于 Cookie 的 SSO 中间件 kisso

    kisso  =  cookie sso 基于 Cookie 的 SSO 中间件,它是一把快速开发 java Web 登录系统(SSO)的瑞士军刀.欢迎大家使用 kisso !! kisso 帮助文档 ...

  4. js中对数组的操作-------Day49

    今天碰到了一个问题:easyui的使用中,datagrid表格的高度怎样改变(设定成一个固定的高度),看了半天文档,也从网上查了些.还楞是没弄出来,有点小郁闷.这easyui在某些情况情况下确实好用了 ...

  5. 取消xp开机默认登陆账户

    取消xp开机默认登陆账户 建了个新用户,把以前的用户删除后重新启动电脑,始终停留在 "正在启动" 界面,网上说是 Event Log:Eventlog(系统日志纪录服务) 没有自动 ...

  6. ORA-16047: DGID mismatch between destination setting and standby

    主库有报错如下: ORA-16047: DGID mismatch between destination setting and standby 原因:主库参数设置错误,检查下列参数:log_arc ...

  7. Django快速搭建博客

    准备工作: 1.Python 2.Django 3.Git 安装Python: 官网下载 安装Django: #安装最新版本的Django $ pip install django #或者指定安装版本 ...

  8. Flask项目之手机端租房网站功能测试(完结)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶注册和登录以及用户退出功能 二丶上传头像功能和修改用户名功能测试 三丶发布房源以及实名认证功能测试 四丶网站房屋搜索功能 ...

  9. Maven搭建hadoop环境报Missing artifact jdk.tools:jdk.tools:jar:1.7(5种办法,2种正解)

    刚刚写的那一篇,是网上比较主流的解决办法. 鉴于实际情况,有伙伴的机器上没有遇到这个问题,我们再探究原因,最终还有4种情况需要说明. 先说,另外一种"正解". <depend ...

  10. 【Good Bye 2017 B】 New Year and Buggy Bot

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 枚举一下全排列.看看有多少种可以到达终点即可. [代码] #include <bits/stdc++.h> using ...