flex的tree动态加载大量数据与滚动条相关问题探讨
程序员文章站
2022-06-19 12:44:50
用arraycollection做数据源的坑啊,网上几乎没啥例子,全靠自己摸索 其实显示上万条数据用滚动条本来就是个垃圾设计,没办法,lvl太低,做不了主。 case 1:...
用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]));
其实显示上万条数据用滚动条本来就是个垃圾设计,没办法,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]));
下一篇: 浮动元素遇到标准流元素 会发生转角遇到爱