码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 微信小程序开发实战-setData字段特别多时怎么办,试试动态遍历字段并提取赋值


    概要:

    小程序开发过程中,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 并处理响应结果

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

  • 相关阅读:
    基于深度学习LSTM+NLP情感分析电影数据爬虫可视化分析推荐系统(深度学习LSTM+机器学习双推荐算法+scrapy爬虫+NLP情感分析+数据分析可视化)
    gitlab修改默认存储目录
    【软考 系统架构设计师】软件架构设计② 软件架构风格
    oracle管理表空间与数据文件
    C#winfrom调整任意控件宽和高
    nRF Connect SDK(NCS)/Zephyr固件升级详解 – 重点讲述MCUboot和蓝牙空中升级
    Mac OS 用户开启 8080 端口
    【基础IO⑨】:重定向实现原理 &&“Linux下一切皆文件“
    Dijkstra算法求最短路
    《人类简史》笔记三—— 历史从无正义
  • 原文地址:https://blog.csdn.net/wxb880114/article/details/126616665
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号