我宣布,这是使用起来毫无心智负担(甚至最好)的滚动虚拟列表,免费自取

论坛有你更精彩! 战术Mark

有个bug,cocos creator3.8.1版本,打包oppo小游戏,使用你这个虚拟列表往下翻,翻到后半部分,会出现大片空白,不知道是item不该隐藏的被隐藏了,还是item的位置计算错误了

我用3.8.7测试oppo小游戏,一切正常。3.8.1测试web版,也是一切正常。我等下试试vivo小游戏看看有没有一样的问题,看出个最简demo

好的. 麻烦提供下最简复现demo,.

我刚刚写了个最简demo,测试vivo小程序,3.8.1版本,没问题,等我明天去公司用这个版本测试oppo小游戏了再和你说后续。oppo小游戏测试必须得oppo手机测试比较麻烦。

大佬,这个图集打开报错,导入失败,是什么问题呢?

替换图片
替换下或者重新拉下最新仓库

没太关注论坛,抱歉回复晚了,目前是这么处理的,重新计算一次之后刷新列表

1赞

大佬,测出来了。
我用你的虚拟列表组件是想展示“隐私政策”,众所周知,cocos creator的富文本在展示超长字符串的时候优化非常之差,所以我想 虚拟列表 + richtext元素 实现。
我最开始写的最简demo,展示的文本是我自己代码生成的,结果可想而知,bug复现不出来,我想着我们的隐私政策里面有非常多的换行符,有时候连续三个换行符,那些也许会造成影响,所以干脆把隐私政策原文复制过来了,果然bug出现了。应该是换行符的相关计算导致的该bug。
就是有一点,我目前只在OPPO小游戏平台3.8.1版本测出的这个问题,VIVO小游戏和和网页都没问题。

最简demo:
VScrollViewDemo.zip (44.4 KB)

OPPO小游戏,cocos3.8.1版本,视频:
bug演示视频.zip (1.5 MB)

nice. 信息提供的非常详细. 我验证确认下看是哪里兼容问题.

我看了下你的demo,我没有oppo小游戏的测试环境,没办法.
但是可以2个可以修改测试看下

  1. item的char模式去掉,改为none
  2. vlist的额外缓冲改为0,默认vlist会有内置缓冲.

cocosv3.8.3的,复制了2个虚拟列表的主脚本过来
请教一个问题,视窗内可以看到10个完整的子节点的,但是数据有18个,一开始好像就是把18个都渲染出来了,dc是256-280左右,如果把列表拉到最底下刚好显示10个节点时dc是180-190.
请问这个dc一开始没有虚拟化导致很高就是因为我用的是3.8.3的原因的吗?


本来我的目的就是想弄下拉刷新跟上拉显示下一页的功能的,我自己用scrollview的节点接口去监听的,做的不是很好,想起来你这个工具就想抄一下的。
本来没有这两个需求的时候,我用的虚拟列表就是网上那个klk0@qq.com这位开发的List.ts的,滑动时dc基本上稳定在185左右。还是想知道为什么你的视窗内不裁剪掉看不到的子节点的?

  1. 有额外缓冲队列,所以会有多的节点,你可以修改额外缓冲参数为0 ,(有内置缓冲)
  2. 虚拟列表再怎么虚拟一开始总得有东西吧…你都要初始显示10个…
  3. DC高是sorting2D组件只在3.8.7存在(好像是的,你要确认下)

感谢,缓冲参数我今天改了的,我明天再研究下sorting2D,我初始显示的是代码生成的实际的子节点,而不是没数据的默认预制件。今天已经完成下拉上拉的功能了。

恭喜

  1. 完成功能优先
  2. sorting2d只在3.8.7存在.之前版本没有.
1赞

属性总条数是什么 :roll_eyes:

初始显示数量


github 地址(3.8.x版本):
https://github.com/soidaken/VScrollView
预览地址
https://soidaken.github.io/VSCrollView_SamplesPreView/

最新更新:

  • 为scrollToPosition加入可选duration参数
  • 加入PageView模式开关
  • 添加等大小模式可以不使用预制体,直接使用content的第一个节点作为模板,方便实际编辑器中快速制作.

真心不错,我对比之前的滚动列表写法,也是复用机制,你的支持的更加广泛

1赞

帮到你就好. 开源的东西就是会一直有新的功能和优化更新.