先上效果:

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

使用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. Windows下快速安装CACTI流量监控

    Windows下快速安装CACTI流量监控 原文  http://os.51cto.com/art/201111/300977.htm CACTI是一套PHP程序,它利用SNMPGET采集数据,使用R ...

  2. C#接口,类,集成

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  3. dreamweaver 8的替换功能

    dreamweaver 8的替换功能 下面教你用dreamweaver 8的替换功能来删除这些冗余代码. 查找范围:文件夹(然后选取你需要替换的文件夹) 搜索:源代码查找:\btppabs=" ...

  4. POJ 2181 贪心

    思路: 贪心 对于每个波浪 ans+=最大值-最小值 注意最后一定是选最大值 //By SiriusRen #include <cstdio> using namespace std; i ...

  5. 跨域使用onmessage实现方式

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

  6. JSP_Learn

    // 解决中文乱码的问题String name = new String((request.getParameter("name")).getBytes("ISO-885 ...

  7. JS原生方法被覆盖后的恢复办法

    alert 被覆盖 今天装修博客园,调试了下JS代码发现 alert() 方法被官方覆盖了,查看源码得知 alert 的功能被替换成了 console.log. 恢复 var _frame = doc ...

  8. 【hihocoder 1369】网络流一·Ford-Fulkerson算法

    [Link]:http://hihocoder.com/problemset/problem/1369 [Description] [Solution] 最大流模板题 [NumberOf WA] [R ...

  9. hdoj-1289-A Bug&#39;s Life【种类并查集】

    A Bug's Life Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...

  10. IE兼容性开发的笔记

    当前项目组开发的产品对外承诺支持IE9和IE11,但在推广应用过程中发现存在相当比例的用户实际上还在使用IE8.而这相当比例中的用户还包含了大部分的公司领导.为了满足公司内部各阶层人士体验我们产品的诉 ...