微信小程序商城项目之购物数量加减(3)

发布时间 - 2026-01-11 00:41:33    点击率:

我们在购买宝贝的时候,购物的数量,经常是我们需要使用的,如下所示:

在宝贝详情页里:

在购物车里:

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

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下载地址:商城购物数量加减

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# 微信小程序商城购物数量加减  # 微信小程序商城购物  # 微信小程序购物数量加减  # 微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换  # 微信小程序 swiper制作tab切换实现附源码  # 微信小程序 Tab页切换更新数据  # 微信小程序开发之选项卡(窗口底部TabBar)页面切换  # 微信小程序实现tab切换效果  # 详解微信小程序开发之城市选择器 城市切换  # 微信小程序实现滑动切换自定义页码的方法分析  # 微信小程序外卖选购页实现切换分类与数量加减功能案例  # 下载地址  # 才可以  # 该如何  # 所示  # 不作  # 图为  # 车里  # 就为  # 大家多多  # 输入框  # 加减  # 详情页  # bindtap  # input  # bindMinus  # stepper  # minusStatus  # view  # type  # normal 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 魔毅自助建站系统:模板定制与SEO优化一键生成指南  浅谈javascript alert和confirm的美化  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  三星、SK海力士获美批准:可向中国出口芯片制造设备  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  如何在建站主机中优化服务器配置?  如何在IIS中新建站点并配置端口与物理路径?  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  如何快速上传建站程序避免常见错误?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  如何快速搭建高效WAP手机网站?  如何在腾讯云服务器快速搭建个人网站?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  如何基于云服务器快速搭建个人网站?  如何选择可靠的免备案建站服务器?  公司网站制作价格怎么算,公司办个官网需要多少钱?  教你用AI润色文章,让你的文字表达更专业  JavaScript如何实现错误处理_try...catch如何捕获异常?  Python制作简易注册登录系统  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  高端网站建设与定制开发一站式解决方案 中企动力  JavaScript模板引擎Template.js使用详解  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  如何在阿里云虚拟主机上快速搭建个人网站?  利用vue写todolist单页应用  JavaScript如何实现音频处理_Web Audio API如何工作?  如何在阿里云香港服务器快速搭建网站?  郑州企业网站制作公司,郑州招聘网站有哪些?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  如何用PHP工具快速搭建高效网站?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  Laravel中的withCount方法怎么高效统计关联模型数量  Laravel怎么上传文件_Laravel图片上传及存储配置  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  Laravel怎么在Controller之外的地方验证数据  如何确认建站备案号应放置的具体位置?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  JS中对数组元素进行增删改移的方法总结  Laravel如何为API生成Swagger或OpenAPI文档  LinuxCD持续部署教程_自动发布与回滚机制  如何用免费手机建站系统零基础打造专业网站?  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解