欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

uniapp 强制刷新DOM/强制更新指令:this.$forceUpdate();

发布时间:2024/9/19 57 豆豆
生活随笔 收集整理的这篇文章主要介绍了 uniapp 强制刷新DOM/强制更新指令:this.$forceUpdate(); 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

前言

数组和对象更改后视图不刷新

当遇期望DOM一刷新,但其却未刷新怎么办?

比如:在uniapp刷新DOM过程中,你修改了data中的属性。此时uniapp无法感知到属性已经发生变化了,因此,期待的DOM刷新未发生。

我的数据是:

return {list: [{id: 1, ..., height:1}{id: 2, ..., height:1}], }

当我更新height时,期望的DOM刷新未发生。

想知道为什么的,参考这里:Vue中数组和对象更改后视图不刷新的问题
或者通过总结了解一下:数据的改变必须能够触发set方法,否则无法响应数据变化。

解决办法1:this.$forceUpdate();

/*修改属性*/ this.list[0].height = 100; /*紧接着跟一条强制更新指令*/ this.$forceUpdate();

解决办法2:

/*修改属性*/ this.list[0].height = 100; /*紧接着,通过重新赋值属性,触发该属性的setter方法*/ this.list= Object.assign({}, this.list);

总结

以上是生活随笔为你收集整理的uniapp 强制刷新DOM/强制更新指令:this.$forceUpdate();的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。