List 组件列表渲染异常

问题 :内嵌 ist 列表,数据无法渲染出现问题,并且来回滚动刷新时,数据将被覆盖。
正常数据:

QQ图片20210412142954.png

 
滚动刷新后数据:默认只有y 用户有图片,但是刷新后数据全被覆盖

索引错乱.png

 
重现源码:
 
已邀请:

kylin9718

赞同来自: Charley-Layabox layabox

两个问题
1) 数据无法渲染第二项以及索引异常是因为 list 的Hanlder.create没有设置once为flase。
2) 图片的问题解释起来有些复杂,简单来说
2.1) 因为有一个默认的skin,所以会加载渲染
2.2) 因为传过去的地址不存在,所以不会默认覆盖掉,这也是为什么你会疑惑设置为null怎么还有图片
2.3) 当向下滚动,再次返回最上面时,发现图片又没了,这是因为之前的cell已经被destory了,重新设置的skin替换了之前的skin,这个时候就真的没有可以渲染的图片了。
 
下图是我对bundle.js的修改,希望对你有所帮助。
微信图片_20210413164716.png

下面是修改后的结果图

2.png

 

风神

赞同来自: layabox

多谢,可以管用。已修复相关bug。 多谢!!!!!!

风神

赞同来自:

第二项没渲染出来原因是忘记设置Laya.handler 的 once ,不过列表滚动后,依然覆盖数据。

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作