ListBase 类是支持选择内容的所有组件的基类。
注意:基于 Spark List 的控件(Spark ListBase 类及其子类,如 ButtonBar、ComboBox、DropDownList、List 和 TabBar)不支持将 BasicLayout 类作为 layout 属性的值。不要将 BasicLayout 与基于 Spark List 的控件一起使用。
隐藏 MXML 语法
The <s:ListBase> tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ListBase
Properties
arrowKeysWrapFocus="false"
labelField="label"
labelFunction="null"
requireSelection="false"
selectedIndex="-1"
selectedItem="undefined"
useVirtualLayout="false"
Events
caretChange="No default"
change="No default"
changing="No default"
/>
dataProvider
样式为常见样式,或与特定主题关联。如果为常见样式,则可以用于任何主题。如果样式与特定主题关联,则只有应用程序使用该主题时才能使用该样式。
public var arrowKeysWrapFocus:Boolean
如果为 true,则使用箭头键在组件内导航时,如果击中某一端则将折回。
默认值为 false。
caretIndex:Number [只读]
当前处于焦点的项目。
默认值为 -1。
此属性可用作数据绑定的源。修改此属性后,将调度 caretChange 事件。
public function get caretIndex():Number
labelField:String
数据提供程序项目中作为标签显示的字段名称。如果 labelField 设置为空字符串 (“”),则在数据提供程序中不会使用任何字段来表示标签。labelFunction 属性将覆盖此属性。
默认值为 "label"。
public function get labelField():String public function set labelField(value:String):void
labelFunction:Function
用户提供的函数,在每个项目上运行以确定其标签。labelFunction 属性覆盖 labelField 属性。
您可以提供一个 labelFunction,用于查找合适的字段并返回可显示的字符串。labelFunction 还非常适用于处理格式设置和本地化。
label 函数仅使用数据提供程序中的某个项目作为唯一参数,并返回一个字符串。
myLabelFunction(item:Object):String
默认值为 null。
public function get labelFunction():Function public function set labelFunction(value:Function):void
requireSelection:Boolean
如果为 true,则必须始终在控件中选中数据项目。如果该值为 true,则始终将 selectedIndex 属性设置为 0 和 (dataProvider.length – 1) 之间的一个值。
对于大多数子类(除了 TabBar),默认值为 false。在这种情况下,默认值为 true。
默认值为 false。
public function get requireSelection():Boolean public function set requireSelection(value:Boolean):void
selectedIndex:int
选中项目的基于 0 的索引;或者如果未选中项目,则为基于 -1 的索引。设置 selectedIndex 属性会取消选择当前选定的项目并选择指定索引位置的数据项目。
该值始终在 -1 和 (dataProvider.length – 1) 之间。如果从组件删除低于 selectedIndex 的索引位置的项目,则会相应地向下调整选定的索引。
如果已删除选定项目,则将选定索引设置为:
- -1,如果
requireSelection=false或没有剩余的项目。 - 0,如果
requireSelection=true且至少有一个项目。
当用户通过与控件交互来更改 selectedIndex 属性时,此控件将调度 change 和 changing 事件。当以编程方式更改 selectedIndex 属性的值时,此控件将调度 valueCommit 事件。
默认值为 -1。
此属性可用作数据绑定的源。修改此属性后,将调度 valueCommit 事件。
public function get selectedIndex():int public function set selectedIndex(value:int):void
selectedItem:*
当前已选中的项目。设置此属性会取消选中当前选定的项目并选择新指定的项目。
将 selectedItem 设置为不在此组件中的项目会导致为选择任何内容,且会将 selectedItem 设置为 undefined。
如果已删除选定项目,则将选定项目设置为:
undefined,如果requireSelection=false或没有剩余的项目。- 第一个项目,如果
requireSelection=true且至少有一个项目。
当用户通过与控件交互来更改 selectedItem 属性时,此控件将调度 change 和 changing 事件。当以编程方式更改 selectedItem 属性的值时,此控件将调度 valueCommit 事件。
默认值为 undefined。
此属性可用作数据绑定的源。修改此属性后,将调度 valueCommit 事件。
public function get selectedItem():* public function set selectedItem(value:any):void
useVirtualLayout:Boolean
设置与此控件相关联的布局的 useVirtualLayout 属性的值。如果该布局随后被替换,且此属性的值为 true,则会将新布局的 useVirtualLayout 属性设置为 true。
默认值为 false。
public function get useVirtualLayout():Boolean public function set useVirtualLayout(value:Boolean):void
public function ListBase()
构造函数。
protected function adjustSelection(newIndex:int, add:Boolean = false):void
调整选定索引以说明正添加到此组件或正从此组件删除的项目。此方法调整选定索引值并调度 valueCommit 事件。它不会调度 change 事件,因为用户交互不会直接生成 change 事件。而且,它不调度 changing 事件或允许取消选择内容。因为已选中相同的项目,所以它也不调用 itemSelected() 方法;已更改的唯一事项是项目的索引。
在下次调用 commitProperties() 方法时,将调度 valueCommit 事件。
调整 selectedIndex 后,将不发送 change 和 changing 事件。
:int — 新索引。
:Boolean (default = false) — 如果已将项目添加到组件,则为 true;如果已删除项目,则为 false。
protected function itemAdded(index:int):void
已将项目添加到此组件时调用。将相应地调整所选内容和与插入标记相关的属性。
:int — 正在添加的项目的索引。
protected function itemRemoved(index:int):void
已将项目从此组件删除时调用。将相应地调整所选内容和与插入标记相关的属性。
:int — 正在删除的项目的索引。
protected function itemSelected(index:int, selected:Boolean):void
选中或取消选中项目时调用。子类必须覆盖此方法才可显示选择内容。
:int — 已选中的项目索引。
:Boolean — 如果选中项目,则为 true;如果取消选中项目,则为 false。
protected function itemShowingCaret(index:int, showsCaret:Boolean):void
当项目处于其 caret 状态时或不处于该状态时调用。子类必须覆盖此方法才可显示 caret。
:int — 已置于 caret 状态的项目索引。
:Boolean — 如果项目处于其 caret 状态,则为 true;如果未处于该状态,则为 false。
override public function itemToLabel(item:Object):String
如果有一个数据项目,则返回呈示器应该显示的正确文本,同时将 labelField 和 labelFunction 属性考虑在内。
:Object — 数据项目
String — 表示要为呈示器中的数据项目显示的文本的 String。
spark.events.IndexChangeEventspark.events.IndexChangeEvent.CARET_CHANGE
焦点已更改后调度。
IndexChangeEvent.CARET_CHANGE 常量为 caretChange 事件定义事件对象的 type 属性值,指示处于焦点的当前项目将要更改。
事件对象的属性有下列值:
bubblescancelablecurrentTargetmyButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 newIndexoldIndextargetcurrentTarget 属性始终可以访问侦听事件的 Object。类型spark.events.IndexChangeEventspark.events.IndexChangeEvent.CHANGE
所选内容已更改后调度。当用户与此控件交互时,将调度此事件。
以编程方式更改 selectedIndex 或 selectedItem 属性的值时,该控件并不调度 change 事件,而是调度 valueCommit 事件。
IndexChangeEvent.CHANGE 常量可为 change 事件定义事件对象的 type 属性的值,指示索引已更改,比如,当基于 List 的控件更改其选择内容时即进行了更改。
事件对象的属性有下列值:
bubblescancelablecurrentTargetmyButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 newIndexoldIndextargetcurrentTarget 属性始终可以访问侦听事件的 Object。类型spark.events.IndexChangeEventspark.events.IndexChangeEvent.CHANGING
所选内容即将更改时调度。对事件调用 preventDefault() 方法可避免选择内容发生更改。
当用户与此控件交互时,将调度此事件。以编程方式更改 selectedIndex 或 selectedItem 属性的值时,该控件并不调度 changing 事件,而是调度 valueCommit 事件。
IndexChangeEvent.CHANGING 常量为 changing 事件定义事件对象的 type 属性值,指示当前选择将要更改。
事件对象的属性有下列值:
bubblescancelablecurrentTargetmyButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 newIndexoldIndextargetcurrentTarget 属性始终可以访问侦听事件的 Object。类型spark.events.ListEventspark.events.ListEvent.ITEM_ROLL_OUT
当用户将鼠标指针移出控件中的某个项目时调度此事件。
ListEvent.ITEM_ROLL_OUT 常量可为 itemRollOut 事件定义 ListEvent 对象的 type 属性的值,指示用户执行了将鼠标指针从控件中某个可视项目上移开的操作。
事件对象的属性有下列值:
bubblescancelablecurrentTargetmyButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 itemIndexitemitemRenderertargetcurrentTarget 属性始终可以访问侦听事件的 Object。类型spark.events.ListEventspark.events.ListEvent.ITEM_ROLL_OVER
当用户将鼠标指针滚至控件中的某个项目时调度此方法。
ListEvent.ITEM_ROLL_OVER 常量可为 itemRollOver 事件定义 ListEvent 对象的 type 属性的值,指示用户执行了将鼠标指针滑过控件中某个可视项目的操作。
事件对象的属性有下列值:
bubblescancelablecurrentTargetmyButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 itemIndexitemitemRenderertargetcurrentTarget 属性始终可以访问侦听事件的 Object。类型public static const NO_SELECTION:int = -1
表示值“no selection”的静态常量。
显示 MXML 语法










