didi / mpx

Mpx,一款具有优秀开发体验和深度性能优化的增强型跨端小程序框架

Home Page:https://mpxjs.cn

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Bug report]修改数据(对象or数组)后页面未更新

keke599 opened this issue · comments

问题描述
请用简洁的语言描述你遇到的bug,至少包括以下部分,如提供截图请尽量完整:
1.数组的问题:通过下标去修改数组的值值改变了页面未更新
2.对象的问题:a页面进入b页面 打开b的弹框或者根据状态显示的 返回到a 再打开b 弹框没关 根据状态修改的也没有初始化 但是数据是更新的
以上问题在三天前都没有出现过,也有尝试修改依赖 没有解决 只能手动通过setData去更新

环境信息描述
至少包含以下部分:

  1. 小程序 ios 安卓都存在
  2. Mpx依赖版本(@mpxjs/core("^2.8.50")、@mpxjs/webpack-plugin("^2.8.50")和@mpxjs/api-proxy("^2.8.49")
  3. 小程序开发者工具版本是最新的 基础库3.1.2

最简复现demo
一般来说通过文字和截图的描述我们很难定位到问题,为了帮助我们快速定位问题并修复,请按照以下指南编写并上传最简复现

以下代码

****

{{ item }}

<script> import { createPage } from "@mpxjs/core"; createPage({ data: { newList: ["test1", "test2", "test3", "test4"] }, methods: { update(index) { this.newList[index] = "1111"; console.log(this.newList); } } }); </script>

图片地址
1697521134281
image

数组下标更新数据是由于数据响应实现的限制必须通过$set去更新(该限制与vue2相同),如下示例:

this.$set(this.newList, index, '1111')

第二个问题是否与#1291 相同?如果相同后续可以在#1291 中跟进,如不同请补充复现demo后再告知我们检查验证。

吞吐量下标限制更新数据是由于数据响应实现的必须通过$set去更新(该限制与vue2相同),如下示例:

this.$set(this.newList, index, '1111')

第二个问题是否与#1291相同?如果相同后续可以在#1291中进行检查,如不同请补充复现演示后续后续我们验证。

相同的