这位怪蜀黍 中午的时光真难熬!还好有你在!

入坑微信小程序必经之路(五)循环动态添加删除列表

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

posted @   蟾宝  阅读(271)  评论(0编辑  收藏  举报
编辑推荐:
· .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语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示