flex的tree动态加载大量数据与滚动条相关问题探讨

随心笔谈3个月前更新 admin
209 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

这篇文章主要讨论了使用ArrayCollection作为数据源时遇到的问题,特别是滚动条可能导致的花屏或空白现象,并详细介绍了两种解决方法。 第一种情况是滚动条渲染延迟导致的性能问题,解决方案是通过调用ArrayCollection的invalidateList方法刷新树结构。 第二种情况是自动获取数据时无法自动生成滚动条,解决方案是通过分发事件动态生成滚动条。文章还提到,滚动条加载适合评论等页面,页面加载完毕后滚动条可以自动滚动并加载新增内容。


用arraycollection做数据源的坑啊,网上几乎没啥例子,全靠自己摸索

其实显示上万条数据用滚动条本来就是个垃圾设计,没办法,lvl太低,做不了主。

case 1:

官方有句话:使用ItemRenderer的大数据控件,其在渲染时,并不会一次创建所有数据列/行的显示对象 (ItemRenderer),它仅会创建在屏幕上可见的数据列/行,并且重复利用这些显示对象,以提交运行时效率。

所以拖动滚动条时候很容易出现花屏 或者 空白。

原因是Tree中的也是用的itemRender产生延迟造成的.

解决方法: 在Tree的scroll调用myTree.invalidateList()方法,刷新树.

case 2:

自动获取树数据超过显示范围时没有自动生成滚动条.

解决方法:获得数据后分发事件.

复制代码 代码如下:

arrayCollection.itemUpdated(item);

arrayCollection.dispatchEvent(new CollectionEvent(CollectionEvent.COLLECTION_CHANGE, false, false, CollectionEventKind.ADD, -1, -1, [item]));

您可能感兴趣的文章:asp.net+jquery滚动滚动条加载数据的下拉控件asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)拉动滚动条加载数据的jquery代码无刷新动态加载数据 滚动条加载适合评论等页面页面加载完毕后滚动条自动滚动一定位置当滚动条滚动到页面底部自动加载增加内容的js代码基于javascript实现浏览器滚动条快到底部时自动加载数据

© 版权声明

相关文章