热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

微信小程序——this.setData()动态修改数组中的某一值S8v编程技术_踩坑日志_进阶指南_无知人生大家是不是都觉得微信小程序的开发方式和vuereact这种框架的开发方式

微信小程序——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 许可协议。 非商业性使用可自由转载、引用、甚至修改,但需署名作者且注明出处。



推荐阅读
  • 页面按钮<buttonbindtap"addImg"class"addPng&a ... [详细]
  • 最近想用js做一个简单的计算器,不过网上的例子好像大部分都是直接从左到右挨个计算,就好像1+2*5,就会先计算1+2,再计算3*5,并没有实现运算符的优先级,这里找到了一种方法实现,来总结一下。不过这 ... [详细]
  • Flex中使用filter过滤数据 ... [详细]
  • 在实际开发中,现在安卓端和后台之间的数据交互,一般都是用JSON来传递数据信息。JSON大家一般都比较熟悉。我这边就以实际项目中的后台传过来的情况和大家分析下及如何处理。比如后台返 ... [详细]
  • 1.安装cordovapluginaddcordova-plugin-file-transfercordovapluginaddcordova-plugin-fi ... [详细]
  • 九日集训 Day 4 指针
    一、概念定义1、指针即地址计算机中所有的数据都必须放置在内存中,不同类型的数据占用的字节数也不一样,例如32位整型int占据4个字节,64位整型longlong占据8个字节,字符型 ... [详细]
  • MyBatis模糊查询和多条件查询一、ISmbmsUserDao层根据姓名模糊查询publicListgetUser();多条件查询publicList ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了将JSON数组反序列化为强类型的.NET对象相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 如何判断当前浏览器是不是微信浏览器主要代码块functionisWeiXin(){varuawindow.navigator.userAgent.toLowerCase();i ... [详细]
  • 我正在使用数组列表通过构建一个交互式菜单供用户选择来存储来自用户输入的值。到目前为止,我的两个选择是为用户提供向列表输入数据和读取列表的全部内容。到目前为止,我创建的代码由两个类组成。 ... [详细]
  • 浅谈Vantlist 上拉加载及下拉刷新的问题
    这篇文章主要介绍了浅谈Vant-list 上拉加载及下拉刷新的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完 ... [详细]
  • C#按值复制数组我有一个类型化的数组MyType[]types;我想制作这个数组的独立副本。我试过这个MyType[]types2newMyType[types.Length];t ... [详细]
  • 开发笔记:Xunit测试使用个人小结
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Xunit测试使用个人小结相关的知识,希望对你有一定的参考价值。因工作中用到xunit测试,故总结下用法,以供个人参考使 ... [详细]
  • 在ROS系统中,参数读写一般通过xml或者yaml格式的文件,其中yaml用得比较多。这是一种可读性高,轻量级的标记语言,简单好用。对于yaml文件,ros中用的较早版本的yaml- ... [详细]
  • 一、在androidStudio中实现tabs比较简单,新建项目就可以选择tabs模板进行创建,默认实现tabs功能:直接运行项目就可以看到效果:可以说非常简单,但是我们在实际开发 ... [详细]
author-avatar
手机用户彡2570437895
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有