问题描述

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) ,至此问题得到解决。
这里需要注意的是:一定要使用定时器,不然效果依然不会得到解决,尽量把定时时间设置短一点,使用起来比较友好一点。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐