微信小程序开发实战-setData字段特别多时怎么办,试试动态遍历字段并提取赋值

举报
隔壁老汪 发表于 2022/09/02 22:24:22 2022/09/02
【摘要】 概要: 小程序开发过程中,setData的双向绑定是必学的,本文通过对超多字段的动态赋值,深入讲解setData的用法。 需求场景 Page({ data: { p1: !1, p2: "", p3: "", p4: "",p5: "", ......很...

概要:

小程序开发过程中,setData的双向绑定是必学的,本文通过对超多字段的动态赋值,深入讲解setData的用法。

需求场景


  
  1. Page({
  2. data: {
  3. p1: !1,
  4. p2: "",
  5. p3: "",
  6. p4: "",
  7. p5: "",
  8. ......很多字段
  9. p50:""
  10. },

字段特别的多,小程序设置值的时候有如下方法:

在更改setData下的变量时,直接写key名就可以了的,不用写this.data.属性,如下所示

一、使用key value


  
  1. Page({
  2. data:{
  3. value:'hello'
  4. }
  5. this.setData({
  6. value:'修改的值'
  7. //错误写法:this.data.value:''
  8. //注意key的名称一定是data中的名称
  9. })
  10. })
  11. setData的第二个参数是一个回调函数,在页面渲染完后执行。

  
  1. this.setData({
  2. value:'hello'
  3. }, () => { //第二个参数
  4. console.log("在页面渲染完value后再执行");
  5. })

二、使用 中括号[]


  
  1. this.setData({
  2. '对象.属性名':属性值,
  3. ['对象.属性名']:属性值,
  4. )}

  
  1. //例子
  2. this.setData({
  3. 'obj.newName': '新添加的名字',
  4. 'obj.name': '修改成盲盒',
  5. ['obj.height']: ' 修改了30',
  6. })

对于上面几十个字段,这么set实在是不能忍,如何处理呢?

三、解决需求问题使用方法二

从接口提取数据后,通过遍历对象,将key 和value 提取

然后使用setData 赋值

直接上代码:


  
  1. // 请求接口返回 data 对象
  2. const data = e.Data;
  3. const keys = Object.keys(data)
  4. // 遍历key
  5. keys.forEach(function (item,key) {
  6. n.setData({
  7. [item] : ddxxData[item]
  8. });
  9. })

企业数字化转型是一场自我革新的艰苦探索

40家央企数字化转型路线图(2022版)

还在为XShell破解烦恼,试试Tabby

如何在 Jenkins Pipeline 中使用curl 并处理响应结果

点击链接看看吧 微信小程序开发教程

文章来源: blog.csdn.net,作者:隔壁老瓦,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/wxb880114/article/details/126616665

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。