微信小程序 transform 绑定的样式数据不更新?

98 阅读1分钟

最近在做一个大数据列表渲染优化,上了虚拟滚动。懒得去看插件,自己动动手写了一个在uni中的虚拟滚动。一切都写ok了,回头发现问题我删除一条数据居然出现来一个空白行。

image.png

首先肯定想到,贼,数据算错了。导致渲染出问题。然后就苦哈哈的一步一步看我的数据哪里是不是算错了。我把数据id,计算好的transform 都渲染到dom上。然后比对。

image.png

我发现我算的是对的,class里面绑定的也是对的,但是style里面渲染是错的。

image.png

是不是很神奇,兄弟们。看到这里也能猜到,估计是微信的渲染对transform做了相关优化。那修改方案就是给强制渲染style。 所以为不仅给每条数据添加了transform,也增加forceUpdate:Date.now();这样我删除,修改,只要重新计算每个数据都会更新forceUpdate然后绑定到style里面,这样就强制更新了 多的不说,直接上图。over

image.png