uniapp nvue页面数组过滤(遍历)/重新赋值时,数据循环渲染(v-for)出现数据闪烁的问题
作者:互联网
问题描述
uniapp开发移动端时,在nvue页面中,需要对当前数组进行过滤(搜索),然后对该数组重新赋值的时候,页面重新渲染会把原来存在的数据一个一个的移除掉,比如说一个list数组原来有30条数据,然后我把list这个数组筛选10条数据,就会出现页面在那一直闪烁着移除数据的情况,看着就很不爽。废话就不多说了,经过几番挣扎,我是这样解决的。
解决方案
首先在data中声明一个变量 status 控制渲染数据盒子的显示隐藏,初始化 status = true
;然后在数据渲染的地方使用 v-if = "status"
;再当你重新渲染数据的,先把status置为false this.status = false
;最后数据重新赋值完成使用定时器把status变为true setTimeout(() => {this.status = true},0)
,至此问题得到解决。
这里需要注意的是:一定要使用定时器,不然效果依然不会得到解决,尽量把定时时间设置短一点,使用起来比较友好一点。
标签:status,uniapp,nvue,遍历,渲染,true,数组,数据,页面 来源: https://blog.csdn.net/weixin_40292154/article/details/120462276