最近在做一个大数据列表渲染优化,上了虚拟滚动。懒得去看插件,自己动动手写了一个在uni中的虚拟滚动。一切都写ok了,回头发现问题我删除一条数据居然出现来一个空白行。
首先肯定想到,贼,数据算错了。导致渲染出问题。然后就苦哈哈的一步一步看我的数据哪里是不是算错了。我把数据id,计算好的transform 都渲染到dom上。然后比对。
是不是很神奇,兄弟们。看到这里也能猜到,估计是微信的渲染对transform做了相关优化。那修改方案就是给强制渲染style。 所以为不仅给每条数据添加了transform,也增加forceUpdate:Date.now();这样我删除,修改,只要重新计算每个数据都会更新forceUpdate然后绑定到style里面,这样就强制更新了 多的不说,直接上图。over