【发布时间】:2009-12-22 03:55:41
【问题描述】:
mx:List 控件无法正常滚动时,我遇到了这种非常奇怪的行为。
这是一个sn-p:
<mx:List itemRenderer="customerRender" x="19" y="257" height="68" width="290" id="orderStatusHistoryList" color="#CCCCCC" rowHeight="35" ></mx:List>
自定义渲染创建一个 35 像素高的 vBox,其中包含一些标签。
现在,我在脚本块中设置的 dataProvider 正在为列表返回 3 个项目(比如 item1、item2 和 item3)。由于列表控件的高度,最初只显示了 2 个。现在对于奇怪的部分,当我向下滚动列表以查看下一个项目时,一切都搞砸了。
也许这会让您更好地了解正在发生的事情。
初始显示: 项目 1 第 2 项
点击向下滚动按钮后显示: 第 2 项(预期) 第 1 项(什么?,这应该是第 3 项)
再次单击向下滚动按钮后显示: 第1项(全错)
现在,如果我增加列表控件的高度,让它有足够的空间来显示所有三个项目,它会显示得很好。另外,我放了一个跟踪语句是项目渲染,而 flex 正在使用正确的数据渲染所有三个项目。
请告诉我,这里到底发生了什么?还有其他人看起来像这样奇怪的滚动行为吗?
【问题讨论】:
-
你能发送一个屏幕截图吗?也许你在向下和向上滚动时缺少 validateNow() 和 invalidateDisplayList() 到你的列表控件
-
我没有扩展 List 组件,只是使用了自定义渲染。这个平滑的滚动组件已经解决了这个问题。我还读到 flex 4 开箱即用的滚动效果会更好。
标签: apache-flex