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