微信小程序对象数组赋值的坑

前因

在小程序中使用下这种方式赋值,也就是直接修改数组对象,然后进行整个数组的setData,有时会造成一些极其离谱的问题

 this.data.breakdowns[e.currentTarget.dataset.index].breakdownDescription = e.detail.value;
    this.setData({
      breakdowns: this.data.breakdowns
    })

给我造成的现象:在ios下,textarea输入内容一直闪烁,输入不了内容,也删除不了内容。排查了2个小时的业务逻辑发现,纯属小程序的问题,和自己的业务代码没有丝毫问题!!!!

解决方式

使用这种方式,多走一步字符串模版变量进行赋值,奇迹般的就好了,简直离谱。

 const key = `breakdowns[${e.currentTarget.dataset.index}].breakdownDescription`
    this.setData({
      [key]: e.detail.value
    })

 

 

posted @   飞飞飞飞0928  阅读(287)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示