HbuilderX v-for循环改变数据后无法再更新数据

之前一直使用的2.4.2 版本 在我的数据中 对数据是有一个离线下载的操作的

数据中 有两个 字段为show1 show2 当我下载后初始值为 show1 = true show2 = false 用于控制 数据下面的三个按钮 当 show1 = true 时 显示 离线下载 和详情 show2 = true 显示 离线操作 按钮

之前的版本 当我点击 离线下载成功后 我会将当前的这条数据的 show1 赋值为false show2 赋值为true

对按钮的显示我使用的是v-if

之前 如果就这样改了 也不会改变 按钮的显示 我就做了一个数据的 更新

   setTimeout(()=>{  

let arr =JSON.parse(JSON.stringify(this.totalList.checkList.list));

this.totalList.checkList.list = [];

this.totalList.checkList.list = arr;

},0);

这样就可以实现实时的改变按钮的显示与否了。但是当我升级2.6.5后这个方法就失效了。现在我解决的方法是下载成功后重新加载一次数据 因为每次我加载一次数据后都会和手机数据库进行比对 看是否有离线的数据直接就初始阶段就改了。但是这样如果遇到大数据和网络质量差的时候很不好。我现在间接的理解了可能是 2.6.5版本v-for 中这个动态的改变数据可能没有监听到。那么现在有什么好的方法解决这个问题嘛??是使用watch???


·回复

同样遇到类似问题,我的解决方案是

let arr = this.totalList.checkList.list;  

this.totalList.checkList.list = [];

this.$nextTick(function() {

this.totalList.checkList.list = arr;

})


·回复

能上传一份最简的demo吗?或者可以先使用2.6.6-alpha试一下。

以上是 HbuilderX v-for循环改变数据后无法再更新数据 的全部内容, 来源链接: utcz.com/a/13473.html

回到顶部