小程序简单的tab切换

小程序的tab切换还是比较简答的。其原理是根据一个标识来判断是显示还是隐藏。如果tab下面是相同的布局还好说,如果每个tab下的布局都不相同,就需要把布局都写出来。在点击的时候,更改标识就可以达到目的

1,标题头

<!-- 顶部tab切换 -->

<view class='m-tabswra'>

<view class='tabs'>

<!-- 选中状态添加selected -->

<view class="{{plans?'tab selected ':'tab'}}" bindtap='btnplan'>新建采购计划</view>

<view class="{{goods?'tab selected ':'tab'}}" bindtap='btngoods'>待收货</view>

<view class="{{completed?'tab selected ':'tab'}}" bindtap='btncompleted'>已完成</view>

</view>

</view>

2,具体内容

<!-- tab内容模块 里面包含三个模块,可以根据不同的tab切换-->

<view class='m-tabcontentera'>

<!-- 新建采购计划模块 -->

<view class="{{plans?'new-planwra':'hidden'}}">

<!-- 选择供应商模块 -->

<view class='supplierwra'>

<view class='title'>选择供应商</view>

<!-- 搜索 -->

<view class='search'>

<view class='inputwra'>

<input placeholder="请输入供应商名称最少2个字" placeholder-style="color:#ccc" bindinput="supplier" maxlength='60'/>

</view>

<!-- 取此处的点击范围,加大了点击范围,提高用户体验 -->

<view class='c-searchicon' bindtap='serach'>

<image src='../../resource/images/searchicon.png'></image>

</view>

</view>

<!-- 搜索 end-->

</view>

<!-- 选择供应商模块end -->


 

<!-- 供应商列表 默认是隐藏的,只有搜索有结果的时候,显示-->

<view class="{{supplier?'supplierlist':'hidden'}}">

 

<block wx:for="{{supplierlist}}">

<!-- <block > -->

<!-- 循环 读取后台数据循环-->

<view class='supplierlist-item' data-id="{{item.id}}" data-name="{{item.name}}" bindtap='chooseSupplier'>{{item.name}}</view>

</block>

</view>

<!-- 供应商列表 end-->

</view>

<!-- 新建采购计划模块end -->

 

<!-- 待收货 -->

<view class="{{goods?'goodslist ':'hidden'}}">

 

<view>

<!-- 循环 -->

<view class='goodslist_item' wx:for="{{drugsList}}">

<view class='goodsinfo'>

<view class='name'>{{item.name}}</view>

<view class="numtext ">

<view class="{{item.number>1?'num1 ':'hidden'}}">等

</view>

<text class='num'>{{item.number}}</text>个药品</view>

</view>

<view class='indentinfo'>

<view class='info'>

<view class='time'>下单时间:{{item.createTimes}}</view>

</view>

<view class='info'>供应商:{{item.supplierName}}</view>

</view>

<view class='moneyinfo'>

<view class='moneynum'>订单金额:¥{{item.orderPrice}}</view>

<view class='option adjust' data-id="{{item.id}}" bindtap='adjustOrder'>调整订单</view>

<view class='option back' data-id="{{item.id}}" bindtap='receiveGoods'>收货付款</view>

</view>

</view>

</view>

</view>

<!-- 待收货 end-->



 

<!-- 已完成 -->

<view class="{{completed?'completewra ':'hidden'}}">

<view class='process'>

<view class='progressbar'>

<view class='title'>本月进货补贴完成进度</view>

<!-- 在此处动态设置计算的宽度 -->

<view class='barwra'>

<progress percent="{{percent}}" color="#58B2DC" stroke-width="20rpx" />

</view>

</view>

<view class='percentage'>

<view class='bluenum'>{{prograssing}}</view>

<view class='graynum'>/{{totalPrograss}}</view>

</view>

</view>

<view class='goodslist'>

<block wx:for="{{completedOrderList}}">

<!-- 循环 -->

<view class='goodslist_item'>

<view class='goodsinfo'>

<view class='name'>{{item.name}}</view>

<view class='numtext'>等

<text class='num'>{{item.number}}</text>个药品</view>

</view>

<view class='indentinfo'>

<view class='info'>

<view class='time'>下单时间:{{item.createTimes}}</view>

</view>

<view class='info'>供应商:{{item.supplierName}}</view>

</view>

<view class='moneyinfo'>

<view class='moneynum'>订单金额:¥{{item.orderPrice}}</view>

<block wx:if="{{item.orderState=='2'}}">

<view class='moneying'>{{item.orderStates}}</view>

</block>

<block wx:else>

<view class='moneyed'>{{item.orderStates}}</view>

</block>

</view>

</view>

 

</block>

</view>

</view>

<!-- 已完成 end-->

</view>

<!-- tab内容模块 end -->

 

3,css文件

/* pages/order/order.wxss */

page{

display: block;

min-height: 100%;

background: #f2f2f2;

}

.m-tabswra{

height: 120rpx;

}

.m-tabswra .tabs{

width: 660rpx;

background:#fff;

height: 80rpx;

border-radius: 40rpx;

margin: 20rpx auto 0;

color:#666;

line-height: 80rpx;

font-size: 28rpx;

display:-webkit-flex;

display:flex;

display:-moz-box;

display:-webkit-box;

overflow: hidden;

}

.m-tabswra .tab{

width: 220rpx;

text-align: center;

box-sizing: border-box;

}

.tab:nth-child(2){

border-left: 1px solid #dedede;

border-right: 1px solid #dedede;

}

.tab.selected{

background: #6A9CE4;

color: #fff;

}

.m-tabcontentera .dn{

display: none!important;

}

.new-planwra .supplierwra{

background: #fff;

margin-bottom: 20rpx;

overflow: hidden;

}

.new-planwra .supplierwra .title{

padding: 4rpx 0 0 52rpx;

box-sizing: border-box;

height: 86rpx;

line-height: 86rpx;

color:#333;

font-size: 32rpx;

font-weight: 700;

}

.new-planwra .supplierwra .search{

width: 720rpx;

box-sizing: border-box;

margin: 0 auto 30rpx;

display:-webkit-flex;

display:flex;

display:-moz-box;

display:-webkit-box;

padding: 16rpx 0 16rpx 37rpx;

border: 1px solid #dedede;

border-radius: 46rpx;

}

.new-planwra .supplierwra .search .inputwra{

-moz-box-flex:1;

-webkit-box-flex:1;

}

.new-planwra .supplierwra .search input{

height: 40rpx;

font-size: 28rpx;

}

.new-planwra .supplierwra .c-searchicon{

padding: 0 38rpx 0 30rpx;

}

.c-searchicon image{

width: 44rpx;

height: 44rpx;

}

.new-planwra .supplierlist{

background: #fff;

/* padding:0 40rpx; */

box-sizing: border-box;

font-size: 28rpx;

color:#333;

}

.new-planwra .supplierlist-item{

border-bottom: 1px solid #dedede;

padding: 36rpx 0 24rpx;

text-indent: 44rpx;

overflow:hidden;

text-overflow:ellipsis;

white-space:nowrap;

}

.supplierlist-item:last-child{

border-bottom:none;

}

.goodslist .goodslist_item{

background: #fff;

margin-bottom: 20rpx;

}

.goodslist .goodslist_item .goodsinfo{

height: 90rpx;

background: #E9F0F9;

display:-webkit-flex;

display:flex;

display:-moz-box;

display:-webkit-box;

line-height: 90rpx;

padding: 0 70rpx;

box-sizing: border-box;

overflow: hidden;

}

 

.goodsinfo .name{

font-size: 30rpx;

color: #6A9CE4;

-moz-box-flex:1;

-webkit-box-flex:1;

overflow:hidden;

text-overflow:ellipsis;

white-space:nowrap;

}

.goodsinfo .numtext{

font-size: 28rpx;

color: #666;

padding-left: 76rpx;

display: flex;

flex-direction: row;

}

.goodsinfo .num{

color: #333;

font-weight: 700;

}

.goodslist_item .indentinfo{

padding:16rpx 0;

border-bottom:1rpx solid #dedede;

color: #999;

width: 628rpx;

margin:0 auto;

font-size: 26rpx;

}

.indentinfo .info{

line-height: 58rpx;

text-indent: 10rpx;

}

.goodslist_item .moneyinfo{

padding:0 60rpx 0 70rpx;

display:-webkit-flex;

display:flex;

display:-moz-box;

display:-webkit-box;

-webkit-box-pack:center;

-webkit-box-align:center;

height: 102rpx;

box-sizing: border-box;

}

.moneyinfo .moneynum{

-moz-box-flex:1;

-webkit-box-flex:1;

color: #333;

font-size: 26rpx;

}

.moneyinfo .option{

padding: 10rpx 24rpx;

font-size: 28rpx;

border-radius: 14rpx;

}

.option.adjust{

border: 1rpx solid #dedede;

color: #666;

}

.option.back{

border: 1rpx solid #E8C062;

background: #E8C062;

color: #fff;

margin-left: 20rpx;

}

.completewra .process{

height: 170rpx;

background: #fff;

margin-bottom: 20rpx;

display:flex;

display:-moz-box;

display:-webkit-box;

-webkit-box-align:center;

padding:0 50rpx;

}

.process .progressbar{

width: 376rpx;

 

}

.progressbar .title{

color: #333;

font-size: 28rpx;

font-weight: 700;

margin-bottom: 28rpx;

}

.progressbar .barwra{

background:#EAEDEF;

height: 20rpx;

border-radius: 22rpx;

overflow: hidden;

}

.bar{

background: #58B2DC;

border-radius: 22rpx;

}

.process .percentage{

-moz-box-flex:1;

-webkit-box-flex:1;

text-align: right;

}

.percentage .bluenum{

color: #58B2DC;

font-size: 40rpx;

margin-bottom: 10rpx;

}

.percentage .graynum{

color: #666;

font-size: 26rpx;

}

.completewra .goodslist_item .moneying{

color:#F5A623;

font-size: 30rpx;

}

.completewra .goodslist_item .moneyed{

color:#333;

font-size: 30rpx;

}

.completewra .goodslist_item .moneying{

color:#F5A623;

font-size: 30rpx;

}

.completewra .indentinfo .info{

display:flex;

display:-moz-box;

display:-webkit-box;

}

.completewra .indentinfo .info .time{

-moz-box-flex:1;

-webkit-box-flex:1;

}

.completewra .indentinfo .info .look{

font-size: 26rpx;

color: #333;

text-decoration: underline;

}

 

/* 隐藏控件 */

.hidden {

display: none;

text-align: center;

}

4,js文件

data: {

//根据true和false显示相应的布局

plans: true, //采购计划  第一项显示

goods: false, //待发货   隐藏 

completed: false, //已完成  隐藏

...}

给每个tab添加点击事件。把相应的值变true,其他的赋值false即可。也可以使用一个参数。赋值相应的123即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值