1. 乱序
在使用Flex的TileList组件时, 如果数据超过了屏幕显示, 需要用滚动条拖动的话, 有时会出现数据顺序错乱的情况;
解决方法如下:
1). 如果数据的'页数'在2页以内, 设置TileList实例的offscreenExtraRowsOrColumns属性值为
< 数据长度-数据行数或列数 >
2). 如果'页数'大于2, 解决的办法就比较bt了:
首先侦听TileList实例的 ScrollEvent.SCROLL 事件
然后在事件处理函数中 e.target.offscreenExtraRowsOrColumns = < 数据总长度 >
也就是说要随时改变这个属性
虽然有点无厘头, 但好歹是能用了, 聊胜于无 差强人意
注: 以上是单列多行的情况, 如果是多行多列 数量计算应该类似于 Math.ceil(数据长度 / 列数);
2. 更新dataProvider时刷新显示视图
每次指定dataProvider后, 需要动态再指定一遍itemRenderer 类型, 否则不会再次触发 set data() 方法
list.itemRenderer = new ClassFactory(SomeItemMXML);
在使用Flex的TileList组件时, 如果数据超过了屏幕显示, 需要用滚动条拖动的话, 有时会出现数据顺序错乱的情况;
解决方法如下:
1). 如果数据的'页数'在2页以内, 设置TileList实例的offscreenExtraRowsOrColumns属性值为
< 数据长度-数据行数或列数 >
2). 如果'页数'大于2, 解决的办法就比较bt了:
首先侦听TileList实例的 ScrollEvent.SCROLL 事件
然后在事件处理函数中 e.target.offscreenExtraRowsOrColumns = < 数据总长度 >
也就是说要随时改变这个属性
虽然有点无厘头, 但好歹是能用了, 聊胜于无 差强人意
注: 以上是单列多行的情况, 如果是多行多列 数量计算应该类似于 Math.ceil(数据长度 / 列数);
2. 更新dataProvider时刷新显示视图
每次指定dataProvider后, 需要动态再指定一遍itemRenderer 类型, 否则不会再次触发 set data() 方法
list.itemRenderer = new ClassFactory(SomeItemMXML);