白羽
2018-06-20
来源 :网络
阅读 2874
评论 0
摘要:本文将带你了解微信小程序之购物数量加减,希望本文对大家学微信有所帮助。
我们在购买宝贝的时候,购物的数量,经常是我们需要使用的,如下所示:
在宝贝详情页里:

在购物车里:

现在就为大家介绍这个小组件,在小程序中,该如何去写
下图为本项目的图:

wxml:
[html] view plain copy print?
1. <!-- 主容器 -->
2. <view class="stepper">
3. <!-- 减号 -->
4. <text class="{{minusStatus}}" bindtap="bindMinus">-</text>
5. <!-- 数值 -->
6. <input type="number" bindchange="bindManual" value="{{num}}" />
7. <!-- 加号 -->
8. <text class="normal" bindtap="bindPlus">+</text>
9. </view>
wxss:
[css] view plain copy print?
1. /*全局样式*/
2. page {
3. padding: 20px 0;
4. }
5.
6. /*主容器*/
7. .stepper {
8. width: 80px;
9. height: 26px;
10. /*给主容器设一个边框*/
11. border: 1px solid #ccc;
12. border-radius: 3px;
13. margin:0 auto;
14. }
15.
16. /*加号和减号*/
17. .stepper text {
18. width: 19px;
19. line-height: 26px;
20. text-align: center;
21. float: left;
22. }
23.
24. /*数值*/
25. .stepper input {
26. width: 40px;
27. height: 26px;
28. float: left;
29. margin: 0 auto;
30. text-align: center;
31. font-size: 12px;
32. /*给中间的input设置左右边框即可*/
33. border-left: 1px solid #ccc;
34. border-right: 1px solid #ccc;
35. }
36.
37. /*普通样式*/
38. .stepper .normal{
39. color: black;
40. }
41.
42. /*禁用样式*/
43. .stepper .disabled{
44. color: #ccc;
45. }
js:
[javascript] view plain copy print?
1. Page({
2. data: {
3. // input默认是1
4. num: 1,
5. // 使用data数据对象设置样式名
6. minusStatus: 'disabled'
7. },
8. /* 点击减号 */
9. bindMinus: function() {
10. var num = this.data.num;
11. // 如果大于1时,才可以减
12. if (num > 1) {
13. num --;
14. }
15. // 只有大于一件的时候,才能normal状态,否则disable状态
16. var minusStatus = num <= 1 ? 'disabled' : 'normal';
17. // 将数值与状态写回
18. this.setData({
19. num: num,
20. minusStatus: minusStatus
21. });
22. },
23. /* 点击加号 */
24. bindPlus: function() {
25. var num = this.data.num;
26. // 不作过多考虑自增1
27. num ++;
28. // 只有大于一件的时候,才能normal状态,否则disable状态
29. var minusStatus = num < 1 ? 'disabled' : 'normal';
30. // 将数值与状态写回
31. this.setData({
32. num: num,
33. minusStatus: minusStatus
34. });
35. },
36. /* 输入框事件 */
37. bindManual: function(e) {
38. var num = e.detail.value;
39. // 将数值与状态写回
40. this.setData({
41. num: num
42. });
43. }
44. })
运行结果:

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!
喜欢 | 1
不喜欢 | 1
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号