小程序 setData 动态设置变量

需求:

  tab四个模块,点击切换模块,每个模块一组数据dataArr1, dataArr2, dataArr3, dataArr4 (eg: tab切换)

  点击不同的模块中的某一条数据,改变当前模块 当前点击数据的 状态和数量(eg: 点赞 及 点赞数量);

1、 创建一个对象或者数组,列举每个模块加载的数据数组

  key: tabIndex

  value: tabData

2、获取当前点击对象的index;  (wx:for 获取index值)

3、拼接变量

4、setData值

var obj = {0: "dataArr1", 1: "dataArr2", 2: "dataArr3", 3: "dataArr4"};
var clickIndex = e.currentTarget.dataset.index;
var status= obj[curTab] + ‘[‘ + clickIndex + ‘].status‘;
var number= obj[curTab] + ‘[‘ + clickIndex + ‘].number‘;
this.setData({
  [status]: res.data.status,
   [number]: res.data.number,
})

原文地址:https://www.cnblogs.com/bigsister/p/10552916.html

时间: 2024-08-29 16:49:38

小程序 setData 动态设置变量的相关文章

微信小程序 setData动态设置数组中的数据

setdata传递动态数据值必须为对象(只能是key:value) 语法如下 this.setData({ filter: 1212 }) 如果setdata要传递数组呢? 首先相到的是 this.setData({ filter.a: 12 filter.b: 32 }) 这样回报语法错误 既然语法规定不能在里面写数组,那就把数组定义到外面 filter.selectArea1 = 1, filter.selectArea2 = 2, filter.selectArea3 = 3, this.

小程序之--动态设置页面标题 wx.setNavigationBarTitle

参考地址 http://www.yilingsj.com/xwzj/2018-11-26/weixin-navigationbartitletext.html 页面最初是[在线教研] 可以在这个页面的XX.json中去配置 "navigationBarTitleText":"在线教研" 页面就有在线教研了 点击按钮 页面标题由 在线教研 变为 校验成功 getalldata是按钮的点击事件 通过 wx.setNavigationBarTitle来设置动态标题 tit

微信小程序之动态获取元素宽高

我以前一直以为微信小程序不能动态获取view元素的宽高.但是自从看到: wx.createSelectorQuery() 这个api接口,以前的某些问题就能得到解决了... 那么,这个api接口怎么用呢? 首先,这个接口会返回一个对象实例. var obj=wx.createSelectorQuery(); 下面的就是返回的对象实例 obj 的所有内容. 返回的 obj 有五个方法: 1.  obj.in(component):没用过这个方法,多用于组件的选择器. 2.   obj.select

小程序setData方法使用总结

做了一下小程序setData使用方法总结,如有错误,请不吝指出,Thanks?(?ω?)? //示例data: data:{ user:'young', obj:{ name:'蓝色蒲公英', age:'17' }, arr:[{ name:'Lucy', age: '18' },{ name:'半夏', age:'19' }] } 一.直接修改data的某个属性 this.setData({ user:'007' }); 二.修改data里的数组或对象的属性 this.setData({ 'o

微信小程序setData的使用,通过[...]进行动态key赋值

首先先介绍一下微信小程序Page.prototype.setData(Object data, Function callback)的讲解: setData函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的this.data的值(同步) 微信小程序官网文档只对字符串,数字,数组和对象类型的数据通过对setData进行了修改,却没有对动态数据进行讲解,在这里我就针对静态数据以及动态数据的修改进行讲解. 这里关键是动态数据修改,通过使用[...]: "..."进行动态数据赋值,如下

微信小程序的网络设置,及网络请求:wx.request(OBJECT)

所有文章会优先在:微信公众号"颜家大少"中发布转载请标明出处? 微信小程序要实现网络请求,首先要对其进行设置,下面以"微信web开发者工具V1.01.170913"为例 一:对于服务器网站没有备案,或只需要做本地测试的用户 在"微信web开发者工具"的"设置"->"项目设置"->"项目设置"中选:不校验安全域名.TLS 版本以及 HTTPS 证书,如下图 二:对已有备案的网站

微信小程序setData复杂数组的更新、删除、添加、拼接

众所周知,微信小程序里所有对数据的修改只有在setData里修改才会在页面上渲染.在此分享小程序里复杂数组的更新.删除.添加.拼接 初始数据 数组嵌套对象 data: { cartList = [{ id: 1, goods: {id: 1, name: 'wechat'}, checked: true }, { id: 2, goods: {}, checked: false }, { id: 3, goods: {}, checked: true }] }, 索引部分删除 1 let ind

微信小程序开发:设置消息推送

开发设置中,启用并设置消息推送配置后,用户发给小程序的消息以及开发者需要的事件推送,都将被微信转发至该服务器地址中. 不过照着说明去操作,即使按照最简单的明文方式去设置,还是提示Token验证失败.仔细研究说明,其实服务器验证过程很简单,用Get发来一个连接,然后在自己的页面中去检验,不想做也可以先不做,直接返回echostr即可.关键在,怎么返回,开始我还以为必须要按照xml或者json返回,试了半天,其实很简单,清空所有其他输出,直接返回echostr即可. Response.Clear()

微信小程序:nginx 设置HTTPS

微信小程序需要HTTPS服务. 程序是NGINX做前段代理,现将NGINX设置HTTPS做个总结 微信小程序需要HTTPS服务,并且有相关要求: 开发通过https://www.qcloud.com/product/ssl#userDefined10 检测SSL,显示之前配置的https未能通过.主要是算法和域名没通过. 具体操作命令如下 1 先生成key,并设置密码 openssl genrsa -des3 -out server_new.key 2048 2 通过key 再生成csr ope