使用浏览器滚动条时是否可以进行flex渲染器回收?
我有一个带有自定义项目渲染器的flex树控件,可以对服务器端数据结构进行丰富的编辑,该数据结构可能包含任意数量的子节点。如果可能的话,如果内容超出可视范围,我想避免使用flex滚动条,而是选择使用浏览器的滚动条滚动。当树的大小发生变化时,我可以使用javascript和ExternalInterface
来调整应用程序的大小,但我的理解是这会导致为树中的每一行创建渲染器,出于性能原因,我希望避免使用它。 / p>
答案 0 :(得分:1)
Flex Tree组件不支持开箱即用的功能。假设数据提供者很大,它将创建足够的渲染器来填充它的整个高度。由于您希望它大于浏览器窗口,因此它将创建比这些边界更多的渲染器。
如果您愿意对现有树进行子类化或修补,则可以添加新属性以覆盖起始值和用于计算所需渲染器数量的高度。我不确定这会有多少工作,但它可能就像覆盖计算发生的单个函数一样简单。
显然,当浏览器滚动时,您需要为树中显示的内容的起始值和结束值传递新值。