当前位置:网站首页>Day 245/300 JS forEach 多层嵌套后数据无法更新到对象中

Day 245/300 JS forEach 多层嵌套后数据无法更新到对象中

2022-07-06 06:28:00 Arden Zhao

(一)需求

新增对象和编辑对象,对于业务场景下面的属性的值的默认值要区分,设置不同的默认值。

(二)实现

1、forEach 更新数据失败了

一开始尝试,是在获取异步请求后,直接进行数据处理的,但是失败了,在另一边选择不同的业务场景下,一直无法更新。

  • 复杂对象数据的深拷贝,试过了不行
  • nextTick到下微任务异步队列,试过了不行
  • setTimeout到下个宏任务异步队列,试过了还行不行

心情略崩溃,就是不行;

2、进一步排查

发现是在选业务场景后,数据会有重新赋值的情况; 而选择重新赋值使用的旧有的对象。
虽然到现在还是不大明白,为什么,数据渲染后,还是没有渲染到原始的对象中,这里先记录下。之后再补充。

this.toolsList.forEach(function (item) {
    
  item.checked= true
  if (_this.newState) {
    
    if (item.tool_name === 'other') {
    
      const attributes = item.attributes
      attributes.forEach((attr) => {
    
        if (attr.name === 'edit_object_model') {
    
          console.log('attr2', attr)
          attr.value = '10'
        }
      })
    }
  }
})

写在最后的话

学习路上,常常会懈怠

《有想学技术需要监督的同学嘛~》
https://mp.weixin.qq.com/s/FyuddlwRY7DsHUejCjiVug

原网站

版权声明
本文为[Arden Zhao]所创,转载请带上原文链接,感谢
https://blog.csdn.net/xinghuowuzhao/article/details/125107004