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
比如是一个显示日志的虚拟列表
先创建字符串数组,塞一点内容进去
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
没有找到相关结果
已邀请:
1 个回复
sagasarate
赞同来自: