入坑微信小程序必经之路(五)循环动态添加删除列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <block wx: for = "{{scoreList}}" wx:key> <view class = "cu-bar bg-white solid-bottom margin-top" > <view class = "action" > <text class = "cuIcon-title text-brown" ></text> 第{{item.num}}节 </view> </view> <view class = "cu-form-group" > <view class = "title" >分数</view> <picker bindchange= "scoreChange" value= "{{item.score}}" data-num= "{{item.num}}" range= "{{scoreArr}}" > <view class = "picker" > {{item.score?scoreArr[item.score]: '请选择' }} </view> </picker> </view> </block> <view class = "padding flex flex-wrap justify-between align-center" > <button class = "cu-btn bg-gradual-pink cuIcon-add" bindtap= "objectAdd" >增加</button> <button class = "cu-btn bg-gradual-pink cuIcon-move" bindtap= "objectMove" >减少</button> </view> |
js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | Page({ data: { scoreList: [], //分数数组 scoreArr: [ "0分" , "1分" , "2分" , "3分" , "4分" , "5分" ], num: 0, }, scoreChange(e) { var that = this ; var tempList = that.data.scoreList; for ( var i = 0; i < tempList.length; i++) { //找到所选的下拉框赋值 if (tempList[i][ "num" ] == e.currentTarget.dataset.num) { tempList[i][ "score" ] = e.detail.value; break ; } } //改变后的值赋值scoreList重新绑定 that.setData({ scoreList: tempList }) console.log( 'scoreList=' + JSON.stringify(that.data.scoreList)) //最终提交到后台得到数据 }, //添加一个列表 objectAdd(e) { var that = this var addlist = this .data.scoreList; var obj = { score: null , num: this .data.num + 1 } addlist.push(obj) this .setData({ scoreList: addlist, num: this .data.num + 1 }) }, //减少一个列表 从最后一个开始减少 objectMove(e) { if ( this .data.scoreList.length > 0) { this .data.scoreList.splice( this .data.scoreList.length - 1, 1); this .setData({ scoreList: this .data.scoreList, num: this .data.num - 1, }) } } }) |
转自:https://www.cnblogs.com/yejiao/p/11389509.html
分类:
微信小程序
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构