小程序开发文档中:性能与体验 -> 运行时性能 -> 3.4 setData 应只传发生变化的数据
第二点中提到:“建议以数据路径形式改变数组中的某一项或对象的某个属性,如 this.setData({'array[2].message': 'newVal', 'a.b.c.d': 'newVal'}),而不是每次都更新整个对象或数组”;在某些场景下,使用数据路径更新列表后,dom节点属性渲染错误。复现步骤:
- 导入代码片段
- 按顺序依次点击页面中的 A、B、C 按钮后,此时按钮 C 处于激活状态
- 依此点击列表 A、B、C、D、E 项,toast 提示获取到的 index 是错误的,查看 wxml 节点上渲染的 data-index 属性值也是错误的
以下为代码片段demo:
没复现