包 | mx.collections |
类 | public class AsyncListView |
继承 | AsyncListView OnDemandEventDispatcher Object |
实现 | IList |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
getItemAt()
、removeItemAt()
和 toArray()
方法所引发的 ItemPendingErrors 错误。
getItemAt()
方法通过返回临时“暂挂”项目处理 ItemPendingErrors,直到基础请求成功或失败为止。临时项目是通过调用 createPendingItemFunction
属性所指定的函数产生的。如果请求成功,则实际项目会替换临时项目。如果请求失败,则临时项目会替换为通过调用 createFailedItemFunction
属性所指定的函数返回的项目。
此类将 IList 方法和属性委托给其 list
。如果未指定列表,则转变集合的方法不操作,且查询集合的方法会根据需要返回诸如 null 或零之类的空值。
此类旨在根据 DataGroup(如 List 和 ComboBox)用于 Spark 组件。Spark 类并不为处理 ItemPendingError 而提供固定的支持。
AsyncListView 不支持重新插入暂挂项或失败项。一旦删除失败项或暂挂项,将断开相应项与数据暂挂请求的连接。不支持使用拖放来移动 ASyncListView 中的暂挂项,也不支持对包含暂挂项或失败项的 ASyncListView 进行排序,因为这些操作会删除并重新插入列表项。
MXML 语法隐藏 MXML 语法The <mx:AsyncListView>
tag inherits all the attributes of its
superclass, and adds the following attributes:
<mx:AsyncListView Properties createFailedItemFunction="null" createPendingItemFunction="null" list="null" />
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
createFailedItemFunction : Function
一种回调函数,用于在导致引发 ItemPendingError 的请求随后失败时创建替换项。 | AsyncListView | ||
createPendingItemFunction : Function
一种回调函数,用于在初始请求导致引发 ItemPendingError 时创建临时项。 | AsyncListView | ||
length : int [只读]
此集合中的项目数。 | AsyncListView | ||
list : IList
此集合所包装的 IList 对象。 | AsyncListView |
方法 | 由以下参数定义 | ||
---|---|---|---|
AsyncListView(list:IList = null)
构造函数。 | AsyncListView | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | OnDemandEventDispatcher | ||
向列表末尾添加指定项目。 | AsyncListView | ||
在指定的索引处添加项目。 | AsyncListView | ||
将事件调度到事件流中。 | OnDemandEventDispatcher | ||
返回 list.getItemAt(index) 的值。 | AsyncListView | ||
如果项目位于列表中(这样的话 getItemAt(index) == item),则返回该项目的索引。 | AsyncListView | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | OnDemandEventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void
通知视图,某个项目已更新。 | AsyncListView | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
删除列表中的所有项目。 | AsyncListView | ||
从 EventDispatcher 对象中删除侦听器。 | OnDemandEventDispatcher | ||
删除指定索引处的实际项或暂挂项并返回该项。 | AsyncListView | ||
在指定的索引处放置项目。 | AsyncListView | ||
设置循环操作动态属性的可用性。 | Object | ||
返回与此 AsyncListView 具有相同元素的数组。 | AsyncListView | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回包含列表长度和暂挂项请求数量的字符串。 | AsyncListView | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | OnDemandEventDispatcher |
createFailedItemFunction | 属性 |
createFailedItemFunction:Function
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
一种回调函数,用于在导致引发 ItemPendingError
的请求随后失败时创建替代项。现有项(通常是由 createPendingItemFunction()
属性指定的回调函数所创建的暂挂项)将替换为失败项。
此属性的值必须是具有以下两个参数的函数:所请求项的索引和失败“info”对象(该对象是从 IResponder fault()
方法传递的)。在大多数情况下,可以忽略第二个参数。以下所示是实现回调函数的一个示例:
function createFailedItem(index:int, info:Object):Object { return "[" + index + "request failed]"; }
设置此属性不会影响已经创建的失败项。将此属性设置为 null 将禁止创建失败项。
默认值为 A function that unconditionally returns null.。
实现
public function get createFailedItemFunction():Function
public function set createFailedItemFunction(value:Function):void
相关 API 元素
createPendingItemFunction | 属性 |
createPendingItemFunction:Function
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
一种回调函数,用于在初始请求导致引发 ItemPendingError
时创建临时项。如果请求最终成功,会自动使用实际项替换临时项。如果请求失败,则该项会替换为 createFailedItemFunction
属性指定的回调函数所创建的项。
此属性的值必须是具有以下两个参数的函数:请求的数据提供程序项的索引和 ItemPendingError 本身。大多数情况下可以忽略第二个参数。下面的示例演示回调函数的实现:
function createPendingItem(index:int, ipe:ItemPendingError):Object { return "[" + index + "request is pending...]"; }
设置此属性不会影响已创建的临时暂挂项。将此属性设置为 null 将禁止创建临时暂挂项。
默认值为 A function that unconditionally returns null.。
实现
public function get createPendingItemFunction():Function
public function set createPendingItemFunction(value:Function):void
相关 API 元素
length | 属性 |
list | 属性 |
list:IList
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
此集合所包装的 IList 对象。它是指将所有 IList 方法委托给的对象。
如果此属性为 null,则不操作诸如 setItemAt()
的 IList 转变方法。IList 查询方法(如 getItemAt()
)根据需要返回 null 或 0(getItemIndex()
返回 -1)。
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 listChanged
事件。
实现
public function get list():IList
public function set list(value:IList):void
AsyncListView | () | 构造函数 |
addItem | () | 方法 |
addItemAt | () | 方法 |
getItemAt | () | 方法 |
public function getItemAt(index:int, prefetch:int = 0):Object
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
返回 list.getItemAt(index)
的值。
此方法捕获作为调用 getItemAt()
的结果生成的 ItemPendingErrors (IPE)。如果引发 IPE,则会将 IResponder
添加到 IPE,并会返回一个使用 createPendingItemFunction
创建的临时“暂挂”项目。如果基础请求最终成功,则会使用实际项目替换暂挂项目。如果请求失败,则会使用通过调用 createFailedItemFunction
生成的值替换暂挂项目。
参数
index:int — 要从中检索项目的列表索引。
| |
prefetch:int (default = 0 ) — 一个 int ,指示当项目不是本地项目时,在请求期间要获取的项目的方向和编号。
|
Object — 指定索引处的列表项目。
|
引发
RangeError — 如果 index < 0 或 index >= length 。
|
相关 API 元素
getItemIndex | () | 方法 |
public function getItemIndex(item:Object):int
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
如果项目位于列表中(这样的话 getItemAt(index) == item),则返回该项目的索引。
注意:与 IViewCursor.findxxx()
方法不同,getItemIndex()
方法不能在要搜索的项目中使用只带字段子集的参数;此方法始终搜索与输入参数完全匹配的项目。
参数
item:Object — 要查找的项目。
|
int — 该项目的索引;如果该项目不在列表中,则为 -1。
|
itemUpdated | () | 方法 |
public function itemUpdated(item:Object, property:Object = null, oldValue:Object = null, newValue:Object = null):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
通知视图,某个项目已更新。如果视图的内容不实现 IEventDispatcher
并调度 PropertyChangeEvent
,则此方法很有用。如果已指定属性,该视图也许能优化其通知机制。否则,它可能选择仅刷新整个视图。
参数
item:Object — 已在视图中更新的项目。
| |
property:Object (default = null ) — 已更新属性的名称。
| |
oldValue:Object (default = null ) — 该属性的旧值。(如果属性为 null,则它可以是该项目的旧值。)
| |
newValue:Object (default = null ) — 该属性的新值。(如果属性为 null,则无需指定它,因为已假定该项目为新值。)
|
removeAll | () | 方法 |
public function removeAll():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
删除列表中的所有项目。
如果存有不是本地项目的项目,并且必须执行异步操作,则会引发 ItemPendingError
。
有关如何使用 ItemPendingError
的详细信息,请参阅 ItemPendingError 文档和集合文档。
removeItemAt | () | 方法 |
public function removeItemAt(index:int):Object
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4 |
运行时版本: | Flash Player 10, AIR 1.5 |
删除指定索引处的实际项或暂挂项并返回该项。其索引大于指定索引的所有项都将索引值减去 1。
如果由于某种原因(例如,对 getItemAt(index)
的调用没有页入数据)在指定索引处没有实际项或暂挂项,则基础 list
可能会引发 ItemPendingError。该实现将忽略 ItemPendingError 并返回 null。
参数
index:int — 要从中检索项目的列表索引。
|
Object — 已删除的项或 null。
|
引发
RangeError — 如果 index < 0 或 index >= length 。
|
setItemAt | () | 方法 |
toArray | () | 方法 |
toString | () | 方法 |
collectionChange | 事件 |
mx.events.CollectionEvent
属性 CollectionEvent.type =
mx.events.CollectionEvent.COLLECTION_CHANGE
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
当列表的长度已改变或替换列表元素时被调度。
CollectionEvent.COLLECTION_CHANGE 常量可为在集合发生更改时调度的事件定义事件对象的type
属性值。
事件对象的属性具有下列值。并非所有属性对于各种事件都有意义。有关详细信息,请参阅详细的属性说明。
属性 | 值 |
---|---|
bubbles | false |
cancelable | false |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
items | 对象 Array,其中包含有关受事件影响的项目的信息。此字段的内容取决于事件的类型;有关详细信息,请参阅 items 属性 |
kind | 事件的类型。有效值定义为 CollectionEventKind 类中的常量。 |
location | items 属性中指定的项目在目标集合中的位置。 |
oldLocation | items 属性中指定的项目原来在目标集合中的位置。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
type | CollectionEvent.COLLECTION_CHANGE |
Tue Jun 12 2018, 11:04 AM Z