微信小程序——this.setData()动态修改数组中的某一值S8v编程技术_踩坑日志_进阶指南_无知人生

大家是不是都觉得微信小程序的开发方式和 vue react 这种框架的开发方式很像?S8v编程技术_踩坑日志_进阶指南_无知人生

当操作一个列表时,有时候只需要修改某一行中某一列的值,这时如果对整个列表进行更新也可以,只是觉得这样太不地道,影响性能,所以就需要只更新数组中的某一值。S8v编程技术_踩坑日志_进阶指南_无知人生

S8v编程技术_踩坑日志_进阶指南_无知人生

S8v编程技术_踩坑日志_进阶指南_无知人生

列表数据 assetListS8v编程技术_踩坑日志_进阶指南_无知人生/**

* 页面的初始数据

*/

data: {

assetList: [

{ id: 1, assetName: '图书', num: 16, unit: '本', worth: 1.00, sltNum:0 },

{ id: 2, assetName: '电脑', num: 10, unit: '台', worth: 1.00, sltNum: 0 },

{ id: 3, assetName: '手机', num: 15, unit: '个', worth: 1.00, sltNum: 0 },

{ id: 4, assetName: '笔', num: 19, unit: '个', worth: 1.00, sltNum: 0 },

{ id: 5, assetName: '本', num: 6, unit: '本', worth: 1.00, sltNum: 0 },

],

},

wxml代码

S8v编程技术_踩坑日志_进阶指南_无知人生

{{item.assetName}}

{{item.num}}{{item.unit}}

-

+

相关事件处理代码

S8v编程技术_踩坑日志_进阶指南_无知人生btnAdd: function (e) {

let itm = this.data.assetList[e.target.dataset.idx];

if (itm) {

itm.sltNum += 1;

if (itm.sltNum > itm.num) {

itm.sltNum = itm.num;

}

let temp = 'assetList[' + e.target.dataset.idx + '].sltNum';

console.log(temp);

this.setData({

[temp]: itm.sltNum, //注意 temp 需要用中括号括起来

})

}

},

关键代码:

S8v编程技术_踩坑日志_进阶指南_无知人生let temp = 'assetList[' + e.target.dataset.idx + '].sltNum';

[temp]: itm.sltNum, //注意 temp 需要用中括号括起来

temp的值打印出来类似:assetList[0].sltNum,中括号中的数字为具体的索引,通过 e.target.dataset.idx 获得。S8v编程技术_踩坑日志_进阶指南_无知人生

注意 temp 需要用中括号括起来,这一点很重要,否则不生效。S8v编程技术_踩坑日志_进阶指南_无知人生

本文由 微wx笑 创作,采用 CC BY-NC 4.0 许可协议。 非商业性使用可自由转载、引用、甚至修改,但需署名作者且注明出处。

微信小程序修改数组中的元素_微信小程序——this.setData()动态修改数组中的某一值...相关推荐

  1. 微信小程序使用setData方法修改data中对象或数组的属性值

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站 微信小程序使用setData方法修改data中对象或数组的属性值 使用微信小程序开发时,涉及到data ...

  2. java替换数组中的元素_如何使用Java 8流快速替换列表中的元素

    java替换数组中的元素 假设您有一个项目清单: List<String> books = Arrays.asList("The Holy Cow: The Bovine Tes ...

  3. 13.请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。

    13.请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中.二维数组中的数已在主函数中 ...

  4. 请编写一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。

    #include <iostream> #include<iomanip> using namespace std; #define M 3 #define N 4 /*求出二 ...

  5. C语言编程>第二十一周 ② 请补充main 函数,该函数的功能是:把一维数组中的元素逆置,结果仍然保存在原数组中。

    例题:请补充main 函数,该函数的功能是:把一维数组中的元素逆置,结果仍然保存在原数组中. 注意:仅在横线上填写所需的若干表达式或语句,请勿改动函数中的其它任何内容. 代码如下: #include& ...

  6. C语言编程>第七周 ⑧ 请编一个函数void fun(int a[M][N],int b[N]),c指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入b所指一维数组中。

    例题:请编一个函数void fun(int a[M][N],int b[N]),c指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入b所指一维数组中.二维数组中的数己在主函数中赋予. ...

  7. 微信登录画面_微信登录界面的地球变了_微信登录界面首变真相

    细心的小伙伴发现在启动微信的时候,那个经典的一个小人剪影面对着地球的画面开始发生了一些变化,似乎云层变得更为清晰细致了.微信登录界面6年来首变化,那么为何改变来的如此突然呢,下面小编就分享给大家! 手 ...

  8. 微信公众号怎么推送消息_微信公众号发送消息

    A.模板消息发送 模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等.不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息. 备注 ...

  9. 编写一个程序。要求输入5个学生的成绩(从0到100的整数)并将这5个数保存到文件“data.txt”中,然后再编写一个程序,从文件“data.txt”中读取这5个学生的成绩,计算并输出他们的平均数,然

    编写一个程序.要求输入5个学生的成绩(从0到100的整数)并将这5个数保存到文件"data.txt"中,然后再编写一个程序,从文件"data.txt"中读取这5 ...

最新文章

  1. 对.net知识结构相关讲解
  2. SqlDependency学习笔记
  3. 我的HTML学习记录(七)
  4. 3个Python面试回答的技巧,助你面试大大加分
  5. python求字符串的所有子集_打印一字符串的所有子集 | 学步园
  6. python动态爬取知乎_python爬虫从小白到高手 Day2 动态页面的爬取
  7. 前端开发这么多年,你真的了解浏览器页面渲染机制吗? | 技术头条
  8. 第七节:SpringBoot高级属性配置二
  9. @Transactional注解属性(1)
  10. 编程基础(二)——汇编
  11. 【数字信号调制】基于matlab二进制差分相移键控调制(2DPSK)【含Matlab源码 163期】
  12. 基于java springboot框架的电子发票管理系统
  13. 单片机常用之晶振电路工作原理简述
  14. 解决因多网卡导致dubbo注册到ZK的IP错误问题,dubbox(当当,2.8.4)升级至dubbo(Apache,2.7.15)并集成
  15. 无法删除IE图标(被劫持)
  16. 战地2服务器地图修改,《战地2》地图修改秘籍
  17. Ebox还没到,可怎么办呢
  18. vue入门(猴子都能学会)
  19. Mongodb数据库教程
  20. 2021前端react面试题汇总

热门文章

  1. Python-数据处理
  2. Apifox使用json传参
  3. python-mao
  4. Android手机为何不再卡顿?性能优化才是安卓起飞关键
  5. 三年级语文课外阅读赏析——心田花开
  6. nsf5隐写算法 matlab,基于纹理复杂度的JPEG图像自适应隐写
  7. Oracle05:什么是OCP认证
  8. 如何写互联网产品分析报告
  9. 【项目】好用快搜文档搜索工具
  10. 社会工程管理——股权分配