1. 程式人生 > >微信小程式之購物數量加減 —— 微信小程式實戰商城系列(3)

微信小程式之購物數量加減 —— 微信小程式實戰商城系列(3)

我們在購買寶貝的時候,購物的數量,經常是我們需要使用的,如下所示:

在寶貝詳情頁裡:


在購物車裡:


現在就為大家介紹這個小元件,在小程式中,該如何去寫

下圖為本專案的圖:


wxml

<!-- 主容器 -->
<view class="stepper">
	<!-- 減號 -->
	<text class="{{minusStatus}}" bindtap="bindMinus">-</text>
	<!-- 數值 -->
	<input type="number" bindchange="bindManual" value="{{num}}" />
	<!-- 加號 -->
	<text class="normal" bindtap="bindPlus">+</text>
</view>

wxss

/*全域性樣式*/
page {
	padding: 20px 0;
}

/*主容器*/
.stepper {
	width: 80px;
	height: 26px;
	/*給主容器設一個邊框*/
	border: 1px solid #ccc;
	border-radius: 3px;
	margin:0 auto;
}

/*加號和減號*/
.stepper text {
	width: 19px;
	line-height: 26px;
	text-align: center;
	float: left;
}

/*數值*/
.stepper input {
	width: 40px;
	height: 26px;
	float: left;
	margin: 0 auto;
	text-align: center;
	font-size: 12px;
	/*給中間的input設定左右邊框即可*/
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

/*普通樣式*/
.stepper .normal{
	color: black;
}

/*禁用樣式*/
.stepper .disabled{
	color: #ccc;
}

js

Page({
	data: {
		// input預設是1
		num: 1,
		// 使用data資料物件設定樣式名
		minusStatus: 'disabled'
	},
	/* 點選減號 */
	bindMinus: function() {
		var num = this.data.num;
		// 如果大於1時,才可以減
		if (num > 1) {
			num --;
		}
		// 只有大於一件的時候,才能normal狀態,否則disable狀態
		var minusStatus = num <= 1 ? 'disabled' : 'normal';
		// 將數值與狀態寫回
		this.setData({
			num: num,
			minusStatus: minusStatus
		});
	},
	/* 點選加號 */
	bindPlus: function() {
		var num = this.data.num;
		// 不作過多考慮自增1
		num ++;
		// 只有大於一件的時候,才能normal狀態,否則disable狀態
		var minusStatus = num < 1 ? 'disabled' : 'normal';
		// 將數值與狀態寫回
		this.setData({
			num: num,
			minusStatus: minusStatus
		});
	},
	/* 輸入框事件 */
	bindManual: function(e) {
		var num = e.detail.value;
		// 將數值與狀態寫回
		this.setData({
			num: num
		});
	}
})

執行結果:


demo下載地址:http://download.csdn.net/detail/michael_ouyang/9815524

更多小程式的教程

微信小程式之自定義toast例項 —— 微信小程式實戰系列(6)

謝謝觀看,不足之處,敬請指導