laya版的虚拟列表无法显示所有item

情况大概这样:
比如是一个显示日志的虚拟列表
先创建字符串数组,塞一点内容进去
let Logs=["aaaaa","bbbbb","cccccc"];
然后再初始化虚拟列表
lvLog.setVirtual();
lvLog.itemRenderer = LogRender.bind(this);
lvLog.numItems = Logs.length;
之后新加日志就是往Logs塞字符串,然后设置lvLog.numItems = Logs.length
 
结果就是后面加进去的日志能显示,最开始就存在的字符串不会在列表里显示,滚动也滚不出来
 
cocos create2.4版的测试没这个问题
 
更了下源码,发现问题的根源在于List的item的高度是0,我这个item组件里面就一个GTextField,设置为自动高度,然后组件容器的高度关联GTextField的高度,结果设置好内容后,他的高度为0
已邀请:

sagasarate

赞同来自:

自己搞定了,给item设置完内容后调用下GTextField的ensureSizeCorrect,立刻更新下大小就好了

要回复问题请先登录注册