ComboBox 控件包含下拉列表,用户可从中选择单个值。其功能与 HTML 中 SELECT 表单元素的功能非常相似。ComboBox 是可编辑的,用户可以在 ComboBox 的 TextInput 部分键入列表中不存在的条目。
ComboBox 控件具有以下默认的大小特征:
隐藏 MXML 语法
The <mx:ComboBox> tag inherits all the tag attributes
of its superclass, and adds the following tag attributes:
<mx:ComboBox
Properties
dataProvider="null"
dropdownFactory="ClassFactory that creates an mx.controls.List"
dropdownWidth="100 or width of the longest text in the dataProvider"
itemRenderer="null"
labelField="label"
labelFunction="null"
prompt="null"
rowCount="5"
selectedIndex="-1"
selectedItem="null"
Styles
alternatingItemColors="undefined"
arrowButtonWidth="22"
borderColor="0xB7BABC"
borderThickness="1"
closeDuration="250"
closeEasingFunction="undefined"
color="0x0B333C"
cornerRadius="0"
disabledColor="0xAAB3B3"
disabledIconColor="0x919999"
dropdownBorderColor="undefined"
dropdownStyleName="comboDropdown"
fillAlphas="[0.6,0.4]"
fillColors="[0xFFFFFF, 0xCCCCCC]"
focusAlpha="0.4"
focusRoundedCorners="tl tr bl br"
fontAntiAliasType="advanced|normal"
fontFamily="Verdana"
fontGridFitType="pixel|none|subpixel"
fontSharpness="0"
fontSize="10"
fontStyle="normal|italic"
fontThickness="0"
fontWeight="normal|bold"
highlightAlphas="[0.3,0.0]"
iconColor="0x111111"
leading="0"
openDuration="250"
openEasingFunction="undefined"
paddingTop="0"
paddingBottom="0"
paddingLeft="5"
paddingRight="5"
rollOverColor="Depends on theme color"
selectionColor="Depends on theme color"
selectionDuration="250"
selectionEasingFunction="undefined"
textAlign="left|center|right"
textDecoration="none|underline"
textIndent="0"
textRollOverColor="0x2B333C"
textSelectedColor="0x2B333C"
Events
change="No default"
close="No default"
dataChange="No default"
enter="No default"
itemRollOut="No default"
itemRollOver="No default"
open="No default"
scroll="No default"
/>
dataProvider
查看示例
样式为常见样式,或与特定主题关联。如果为常见样式,则可以用于任何主题。如果样式与特定主题关联,则只有应用程序使用该主题时才能使用该样式。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
在交替模式中,下拉列表行的 BackgroundColors 设置。此值可以是由多种颜色中任意两种所组成的数组。如果为 undefined,则这些行将使用下拉列表的 backgroundColor 样式。
默认值为 undefined。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
下拉列表边框的粗细(以像素为单位)。如果在设置 dropdownStyleNameCSSStyleDeclaration 时定义了 borderThickness,则会覆盖此值。
默认值为 1。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
用于控制关闭转移的缓动函数。缓动函数可用于加速和减缓转移过程。
默认值为 undefined。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
组件中文本(包括组件标签)的颜色。Halo 主题的默认值为 0x0B333C。Spark 主题的默认值为 0x000000。
语言版本: ActionScript 3.0
产品版本: Flex 4
运行时版本: Flash10, AIR 1.5
此组件显示的文本的方向性。
允许的值为“ltr”(适用于从左到右文本,就像在拉丁样式脚本中一样)和“rtl”(适用于从右到左文本,就像在阿拉伯语和希伯来语中一样)。
FTE 和 TLF 在其双向文本布局算法中使用此值,该算法会将 Unicode 字符顺序映射到字型顺序。
注意:仅当 MX 组件将 UIFTETextField 指定为其 textFieldClass 时此样式才适用。
direction 还影响在 TLFTextField 的范围内的文本的对齐。但是,它不会影响组件内 TLFTextField 的位置。
默认值为 "ltr"。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
禁用时组件中文本的颜色。
默认值为 0xAAB3B3。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
下拉列表使用的 CSSStyleDeclaration 的名称。您可以借此控制下拉列表或其项呈示器的外观。
默认值为 "comboDropdown"。
请使用 dropdownStyleName
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
下拉列表使用的 CSSStyleDeclaration 的名称。您可以借此控制下拉列表或其项呈示器的外观。[不推荐使用]
默认值为 "comboDropDown"。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
当禁用控件且 editable 属性为 true 时,用作背景和边框外观的类的名称.
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
当用户按住鼠标按键且 editable 属性为 true 时,用作背景和边框外观的类的名称.
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
当鼠标位于控件上方且 editable 属性为 true 时,用作背景和边框外观的类的名称.
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
editable 属性为 true 时用作背景和边框外观的类的名称.
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
当鼠标未置于控件上方且 editable 属性为 true 时,用作背景和边框外观的类的名称.
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
指定焦点外观的 alpha 透明度值。Halo 主题的默认值为 0.4。Spark 主题的默认值为 0.55。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
指定焦点矩形的哪些角应该是圆角。此值是使用空格分隔的字符串,该字符串可以是 "tl"、"tr"、"bl" 和 "br" 的任意组合。例如,要指定右侧的角为圆角,左侧的角为直角,应使用 "tr br"。cornerRadius 样式属性指定圆角的半径。默认值取决于组件类;如果未覆盖该类的默认值,则默认值为 "tl tr bl br"。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
设置内部 TextField 的 antiAliasType 属性。可能值为 "normal" (flash.text.AntiAliasType.NORMAL) 和 "advanced" (flash.text.AntiAliasType.ADVANCED)。
默认值为 "advanced",该值将启用字体的高级消除锯齿功能。设置为 "normal" 可禁用高级消除锯齿功能。
此样式对系统字体不起作用。
此样式适用于 TextField 子控件中的所有文本;但不能将其应用于部分字符。
默认值为 "advanced"。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
使用的字体的名称。与在完全 CSS 实现中不同,这里不支持逗号分隔的列表。您可以使用任何字体系列名称。如果您指定通用字体名称,它将转换为相应的设备字体。Halo 主题的默认字体为 "Verdana"。Spark 主题的默认字体为 "Arial"。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
设置用于表示 Flex 控件文本的内部 TextField 的 gridFitType 属性。可能值为 "none" (flash.text.GridFitType.NONE)、"pixel" (flash.text.GridFitType.PIXEL) 和"subpixel" (flash.text.GridFitType.SUBPIXEL)。
仅当使用嵌入字体并将 fontAntiAliasType 属性设置为 "advanced" 时,才应用此属性。
此样式对系统字体不起作用。
此样式适用于 TextField 子控件中的所有文本;但不适用于部分字符。
默认值为 "pixel"。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
设置用于表示 Flex 控件文本的内部 TextField 的 sharpness 属性。此属性指定字型边缘的清晰度。可能值为从 -400 到 400 之间的数字。
仅当使用嵌入字体并将 fontAntiAliasType 属性设置为 "advanced" 时,才应用此属性。
此样式对系统字体不起作用。
此样式适用于 TextField 子控件中的所有文本;但不适用于部分字符。
默认值为 0。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
确定文本是否使用斜体。可识别的值为 "normal" 和 "italic"。
默认值为 "normal"。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
设置用于表示 Flex 控件文本的内部 TextField 的 thickness 属性。此属性指定字型边缘的粗细。可能值为从 -200 到 200 之间的数字。
仅当使用嵌入字体并将 fontAntiAliasType 属性设置为 "advanced" 时,才应用此属性。
此样式对系统字体不起作用。
此样式适用于 TextField 子控件中的所有文本;但不适用于部分字符。
默认值为 0。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
确定文本是否使用粗体。可识别的值为 normal 和 bold。Button 控件的默认值为 bold。所有其它控件的默认值为 normal。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
一个布尔值,表示是启用 (true) 还是禁用 (false) 字距调整。字距调整会调整某些字符对之间的间隔以提高可读性,并应只在必要时(例如使用大字体标题时)使用。仅嵌入字体支持字距调整。某些字体(如宋体)和等宽字体(如 Courier New)不支持字距调整。
默认值为 false。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
各字符之间显示的附加像素数。如果为正值,则会在正常间距的基础上增加字符间距;如果为负值,则减小此间距。
默认值为 0。
语言版本: ActionScript 3.0
产品版本: Flex 4
运行时版本: Flash10, AIR 1.5
此组件显示的文本的区域设置。
FTE 和 TLF 使用此区域设置将 Unicode 字符映射到字体字型并查找后备字体。
注意:仅当 MX 组件将 UIFTETextField 指定为其 textFieldClass 时此样式才适用。
默认值为 "en"。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
用于控制打开转移的缓动函数。缓动函数可用于加速和减缓转移过程。
默认值为 undefined。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
控件下边框与内容区域底部之间的像素数目。当 editable 属性设置为 true 时,paddingTop 和 paddingBottom 会影响 ComboBox 控件的大小,但不会影响可编辑文本字段的位置。Halo 主题的默认值为 0。Spark 主题的默认值为 -2。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
控件上边框与内容区域顶部之间的像素数目。当 editable 属性设置为 true 时,paddingTop 和 paddingBottom 会影响 ComboBox 控件的大小,但不会影响可编辑文本字段的位置。Halo 主题的默认值为 0。Spark 主题的默认值为 -1。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
下拉列表的 rollOverColor。Halo 主题的默认值为 0xB2E1FF。Spark 主题的默认值为 0xCEDBEF。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
下拉列表的 selectionColor。Halo 主题的默认值为 0x7FCEFF。Spark 主题的默认值为 0xA8C6EE。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
下拉列表的 selectionDuration。
默认值为 250。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
下拉列表的 selectionEasingFunction。
默认值为 undefined。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
容器内文本的对齐方式。可能值有:"left"、"right" 或 "center"。
大多数组件的默认值为 "left"。对于 FormItem 组件,默认值为 "right"。对于 Button、LinkButton 和 AccordionHeader 组件,默认值为 "center",且仅当将 labelPlacement 属性设置为 "left" 或 "right" 时,才能识别此属性。如果将 labelPlacement 设置为 "top" 或 "bottom",将居中文本及所有图标。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
确定文本是否加下划线。可能值有:"none" 和 "underline"。
默认值为 "none"。
语言版本: ActionScript 3.0
产品版本: Flex 4
运行时版本: Flash10, AIR 1.5
实现此组件用来呈示文本的 IUITextField 的类。
它可以设置为 mx.core.UITextField 类(以使用 Flash Player 内置经典 TextField 类)或 mx.core.UIFTETextField 类(以使用 Text Layout Framework 改进文本呈示,包括双向布局)。
默认值为 mx.core.UITextField。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
文本第一行偏离容器左侧的距离(以像素为单位)。
默认值为 0。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
下拉列表的 textRollOverColor。Halo 主题的默认值为 0x2B333C。Spark 主题的默认值为 0x000000。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
下拉列表的 textSelectedColor。Halo 主题的默认值为 0x2B333C。Spark 主题的默认值为 0x000000。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
组件角的半径。下列组件支持此样式:Alert、Button、ComboBox、LinkButton、MenuBar、NumericStepper、Panel、ScrollBar、Tab、TitleWindow 以及任何支持设置为 "solid" 的 borderStyle 属性的组件。默认值取决于组件类;如果没有覆盖该类的默认值,则 Halo 主题的默认值为 0,Spark 主题的默认值为 2。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
边框颜色。下列控件支持此样式:Button、CheckBox、ComboBox、MenuBar、NumericStepper、ProgressBar、RadioButton、ScrollBar、Slider 以及任何支持 borderStyle 样式的组件。默认值取决于组件类;如果没有覆盖该类的默认值,则默认值为 0xB7BABC。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
组件角的半径。下列组件支持此样式:Alert、Button、ComboBox、LinkButton、MenuBar、NumericStepper、Panel、ScrollBar、Tab、TitleWindow 以及任何支持设置为 "solid" 的 borderStyle 属性的组件。默认值取决于组件类;如果没有覆盖该类的默认值,则 Halo 主题的默认值为 0,Spark 主题的默认值为 2。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
已禁用外观中图标的颜色。例如,CheckBoxIcon 外观类可使用此样式来绘制禁用的 CheckBox 控件的复选标记;ComboBoxSkin 类可使用此样式来绘制禁用的 ComboBox 控件的向下箭头;DateChooserMonthArrowSkin 外观类可使用此样式来绘制禁用的 DateChooser 控件的月箭头。默认值取决于组件类;如果此类未覆盖默认值,则默认值为 0x999999。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
ComboBox 边框的颜色。如果为 undefined,下拉列表将使用常规 borderColor 样式。验证程序使用此样式来表示 ComboBox 处于错误状态
默认值为 undefined。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
用于填充控件背景的 Alpha。使用 [1, 1] 可使控件背景不透明。
默认值为 [ 0.6, 0.4 ]。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
为控件背景着色所使用的颜色。对具有均匀外观控件的两个值传递相同的颜色。
默认值为 [ 0xFFFFFF, 0xCCCCCC ]。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
Alpha 透明度,用于加亮填充控件。第一个值指定加亮部分顶部的透明度,第二个值指定加亮部分底部的透明度。加亮部分覆盖了外观的上半部分。
默认值为 [ 0.3, 0.0 ]。
语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash9, AIR 1.1
某个外观中图标的颜色。例如,CheckBoxIcon 外观类可使用此样式来绘制 CheckBox 控件的复选标记;ComboBoxSkin 类可使用此样式来绘制 ComboBox 控件的向下箭头;DateChooserMonthArrowSkin 外观类可使用此样式来绘制 DateChooser 控件的月箭头。默认值取决于组件类;如果此类未覆盖默认值,则默认值为 0x111111。
data:Object
当您在项呈示器或项目编辑器中使用某个组件时,可借助 data 属性向该组件传递值。您通常使用数据绑定将 data 属性的字段绑定到此组件的某个属性。
ComboBox 控件按如下方式使用 listData 属性和 data 属性。如果 ComboBox 位于 DataGrid 控件中,它期望将列的 dataField 属性映射到数据中的某个属性并将 selectedItem 设置为该属性。如果 ComboBox 控件位于 List 控件中,它期望将列表的 labelField 属性映射到数据中的某个属性并将 selectedItem 设置为该属性。否则,它会将 selectedItem 设置为数据本身。
不要以 MXML 方式设置此属性。
此属性可用作数据绑定的源。修改此属性后,将调度 dataChange 事件。
public function get data():Object public function set data(value:Object):void
dataProvider:Object[覆盖]
此组件显示的一组项目。此属性是 Object 类型,因为派生的类可处理各种数据类型,如 Array、XML、ICollectionView 及其他类。所有类型都将转换为 ICollectionView,并在获取此属性的值时返回该 ICollectionView;如果设置的值不是 ICollectionView,则不能获得该值。
如果尚未另外设置 selectedIndex 属性,设置此属性将调整 selectedIndex 属性(从而调整 selectedItem 属性)。如果不存在 prompt 属性,selectedIndex 属性将设置为 0;否则,后一属性将保留为 -1,即用于提示字符串的索引。如果已设置 selectedIndex 属性,并且设置的值超出了新数据提供程序的范围,很可能会发生意外行为。
此属性可用作数据绑定的源。修改此属性后,将调度 collectionChange 事件。
override public function get dataProvider():Object override public function set dataProvider(value:Object):void
dropdown:ListBase [只读]
对作为 ComboBox 中下拉列表的 List 控件的引用。
public function get dropdown():ListBase
dropdownFactory:IFactory
创建用作下拉列表的 ListBase-derived 实例的 IFactory。默认值为 List 的 IFactory
此属性可用作数据绑定的源。修改此属性后,将调度 dropdownFactoryChanged 事件。
public function get dropdownFactory():IFactory public function set dropdownFactory(value:IFactory):void
dropDownStyleFilters:Object [只读]
从 ComboBox 传递到 dropDown 的样式集。dropDownStyleName 样式中的样式将覆盖这些样式。
protected function get dropDownStyleFilters():Object
dropdownWidth:Number
下拉列表的宽度(以像素为单位)。
默认值是 100 或 dataProvider 中最长文本的宽度中的较大者。
此属性可用作数据绑定的源。修改此属性后,将调度 dropdownWidthChanged 事件。
public function get dropdownWidth():Number public function set dropdownWidth(value:Number):void
itemRenderer:IFactory
生成显示该控件下拉列表数据的实例的 IFactory。可以使用此属性为下拉列表指定自定义项呈示器。
该控件在内部使用 List 控件来创建下拉列表。List 控件的默认项呈示器是 ListItemRenderer 类,此类可绘制与列表中每个项目关联的文本以及可选图标。
public function get itemRenderer():IFactory public function set itemRenderer(value:IFactory):void
labelField:String
dataProvider Array 中项目的字段名,将在 TextInput 部分和下拉列表中显示为标签。默认情况下,该控件会使用每个 Array 对象的 label 的属性,并显示该属性。
但是,如果 dataProvider 项目不包含 label 属性,则可以设置 labelField 属性以使用其他属性。
此属性可用作数据绑定的源。修改此属性后,将调度 labelFieldChanged 事件。
public function get labelField():String public function set labelField(value:String):void
labelFunction:Function
在每个项目上运行以确定其标签的用户提供函数。默认情况下,该控件使用每个 dataProvider 项目的 label 属性确定其标签。但是,某些数据集没有 label 属性或没有可用作标签显示的其他属性。
例如,某个数据集包含 lastName 和 firstName 字段,但您希望显示全名。您可以使用 labelFunction 指定一个回调函数,该函数使用适当的字段并返回可显示的字符串。
labelFunction 采用单个参数,该参数是 dataProvider 中的项目并返回字符串:
myLabelFunction(item:Object):String
此属性可用作数据绑定的源。修改此属性后,将调度 labelFunctionChanged 事件。
public function get labelFunction():Function public function set labelFunction(value:Function):void
listData:BaseListData
使用组件作为嵌入式项呈示器或嵌入式项目编辑器时,Flex 将使用 List 控件中的相应数据初始化该组件的 listData 属性。然后,该组件可以使用 listData 属性和 data 属性显示作为嵌入式项呈示器或嵌入式项目编辑器的相应信息。
您无需在 MXML 或 ActionScript 中设置此属性;将组件用作嵌入式项呈示器或嵌入式项目编辑器时,Flex 会对其进行设置。
此属性可用作数据绑定的源。修改此属性后,将调度 dataChange 事件。
public function get listData():BaseListData public function set listData(value:BaseListData):void
prompt:String
ComboBox 控件的提示。提示是 selectedIndex = -1 时在 ComboBox 控件的 TextInput 部分中显示的字符串。它通常是一个类似于“Select one…”的字符串。如果没有提示,则 ComboBox 控件会将 selectedIndex 设置为 0 并显示 dataProvider 中的第一个项目。
public function get prompt():String public function set prompt(value:String):void
rowCount:int
ComboBox 控件列表中可见行数的最大数目。如果 dataProvider 中的项目少于此数目,则 ComboBox 仅显示 dataProvider 中包含的项目。
默认值为 5。
此属性可用作数据绑定的源。修改此属性后,将调度 resize 事件。
public function get rowCount():int public function set rowCount(value:int):void
selectedIndex:int[覆盖]
下拉列表中所选项目的索引。可通过设置此属性来设置当前索引并在 TextInput 部分中显示相关标签。
默认值为 -1,但是如果分配了 dataProvider 则会将其设置为 0,除非有提示。如果该控件处于可编辑状态,且用户在 TextInput 部分中键入了内容,则 selectedIndex 属性的值将变为 -1。如果 selectedIndex 属性的值超出范围,则会将 selectedIndex 属性设置为 dataProvider 中的最后一个项目。
此属性可用作数据绑定的源。修改此属性后,将调度 valueCommit 事件。
override public function get selectedIndex():int override public function set selectedIndex(value:int):void
selectedItem:Object[覆盖]
包含对 dataProvider 中所选项目的引用。如果该数据是一个对象或类实例,则修改该对象或实例中的属性会修改 dataProvider,其视图也会随之更改。设置 selectedItem 本身会导致 ComboBox 选择该项目,(将其显示在 TextInput 中并设置 selectedIndex),只要该项目位于 dataProvider 中。
如果 ComboBox 控件处于可编辑状态,且用户在 TextInput 中键入了任何文本,则 selectedItem 属性将变为 null。仅当用户从下拉列表选择项目或以编程方式设置此属性时,此属性才具有值。
此属性可用作数据绑定的源。修改此属性后,将调度 valueCommit 事件。
override public function get selectedItem():Object override public function set selectedItem(value:Object):void
selectedLabel:String [只读]
ComboBox 控件的 TextInput 部分中显示的字符串。它是使用 labelField 或 labelFunction 基于数据计算得出的。
public function get selectedLabel():String
override protected function calculatePreferredSizeFromData(count:int):Object
根据数据提供程序中第一个 numItems 项目的标签文本的最大大小,确定下拉列表中各个条目所使用的默认高度和宽度值。
:int — 要检查的项目数,用以确定值。
Object — 包含宽度和高度两个属性的 Object。
public function close(trigger:Event = null):void
隐藏下拉列表。
:Event (default = null) — 关闭下拉列表时要调度的事件。
public function itemToLabel(item:Object, ... rest):String
返回一个表示 item 参数的字符串。
此方法按以下顺序进行检查,以查找返回值:
- 如果已指定
labelFunction属性,则返回将此项目传递给函数的结果。 - 如果项目是一个字符串、数值、布尔值或函数,则返回此项目。
- 如果项目包含一个由控件的
labelField属性指定名称的属性,则返回该属性的内容。 - 如果项目包含一个 label 属性,则返回此属性的值。
:Object — 包含要转换为标签的值的对象。如果项目为 null,则此方法返回空字符串。
... String — 表示 item 参数的字符串。
override protected function measure():void
确保控件的宽度至少为 40 个像素,高度足以适应控件的 TextInput 部分中的一行文本(但至少高 22 个像素)。
public function open():void
显示下拉列表。
mx.events.ListEventmx.events.ListEvent.CHANGE
当 ComboBox 内容因用户交互操作发生更改时、当 selectedIndex 或 selectedItem 属性更改时,以及如果 ComboBox 控件可编辑,每当在框中键击时调度。
ListEvent.CHANGE 常量可为 change 事件定义 ListEvent 对象的 type 属性的值,指示由于用户交互所选内容已发生更改。
事件对象的属性有下列值:
bubblescancelablecolumnIndexcurrentTargetmyButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 itemRendererreasonrowIndextargetcurrentTarget 属性始终可以访问侦听事件的 Object。类型mx.events.DropdownEventmx.events.DropdownEvent.CLOSE
当因以下任何原因而取消下拉列表时调度:
- 选择下拉列表中的某个项目
- 在下拉列表外部单击
- 在显示下拉列表时单击下拉按钮
- 在显示下拉列表时按下 ESC 键
DropdownEvent.CLOSE 常量可为 close 事件定义事件对象的 type 属性值。
事件对象的属性有下列值:
bubblescancelablecurrentTargetmyButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 targetcurrentTarget 属性始终可以访问侦听事件的 Object。triggerEventmx.events.FlexEventmx.events.FlexEvent.DATA_CHANGE
当 data 属性更改时进行调度。
当使用组件作为项呈示器时,data 属性包含 dataProvider 中的项目。您可以侦听此事件,并在 data 属性更改时更新组件。
FlexEvent.DATA_CHANGE 常量可为 dataChange 事件定义事件对象的 type 属性值。
事件对象的属性有下列值:
bubblescancelablecurrentTargetmyButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 targetcurrentTarget 属性始终可以访问侦听事件的 Object。mx.events.FlexEventmx.events.FlexEvent.ENTER
在以下情况下调度:editable 属性设置为 true,并且用户在可编辑文本字段中编辑时按下 Enter。
FlexEvent.ENTER 常量可为 enter 事件定义事件对象的 type 属性值。
事件对象的属性有下列值:
bubblescancelablecurrentTargetmyButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 targetcurrentTarget 属性始终可以访问侦听事件的 Object。mx.events.ListEventmx.events.ListEvent.ITEM_ROLL_OUT
当用户将鼠标从下拉列表项目移开时调度。此事件对象的 target 属性包含对 ComboBox 的引用,而不是对下拉列表的引用。
ListEvent.ITEM_ROLL_OUT 常量可为 itemRollOut 事件定义 ListEvent 对象的 type 属性的值,指示用户执行了将鼠标指针从控件中某个可视项目上移开的操作。
事件对象的属性有下列值:
bubblescancelablecolumnIndexcurrentTargetmyButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 itemRendererreasonrowIndextargetcurrentTarget 属性始终可以访问侦听事件的 Object。类型mx.events.ListEventmx.events.ListEvent.ITEM_ROLL_OVER
当用户将鼠标移至下拉列表项目上方时调度。此事件对象的 target 属性包含对 ComboBox 的引用,而不是对下拉列表的引用。
ListEvent.ITEM_ROLL_OVER 常量可为 itemRollOver 事件定义 ListEvent 对象的 type 属性的值,指示用户执行了将鼠标指针滑过控件中某个可视项目的操作。
事件对象的属性有下列值:
bubblescancelablecolumnIndexcurrentTargetmyButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 itemRendererreasonrowIndextargetcurrentTarget 属性始终可以访问侦听事件的 Object。类型mx.events.DropdownEventmx.events.DropdownEvent.OPEN
当用户单击下拉按钮以显示下拉列表时调度。当用户使用键盘并键入 Ctrl-Down 打开下拉列表时,也会调度。
DropdownEvent.OPEN 常量可为 open 事件定义事件对象的 type 属性值。
事件对象的属性有下列值:
bubblescancelablecurrentTargetmyButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 targetcurrentTarget 属性始终可以访问侦听事件的 Object。triggerEventmx.events.ScrollEventmx.events.ScrollEvent.SCROLL
当用户滚动 ComboBox 控件的下拉列表时调度。
ScrollEvent.SCROLL 常量可为 scroll 事件定义事件对象的 type 属性值。
事件对象的属性有下列值:
bubblescancelablecurrentTargetmyButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 deltadirectionScrollEventDirection.HORIZONTAL 或 ScrollEventDirection.VERTICAL。positiontargetcurrentTarget 属性始终可以访问侦听事件的 Object。<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the Halo ComboBox control. -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.DropdownEvent;
[Bindable]
public var cards:ArrayCollection = new ArrayCollection(
[ {label:"Visa", data:1},
{label:"MasterCard", data:2},
{label:"American Express", data:3} ]);
private function closeHandler(evt:DropdownEvent):void
]]>
</fx:Script>
<s:Panel title="Halo ComboBox Control Example"
width="75%" height="75%"
horizontalCenter="0" verticalCenter="0">
<s:HGroup left="10" right="10" top="10" bottom="10">
<mx:ComboBox dataProvider="{cards}" width="150"
close="closeHandler(event);"/>
<s:VGroup width="250">
<s:Label width="200" color="blue" text="Select a type of credit card."/>
<s:Label id="myLabel" text="You selected:"/>
<s:Label id="myData" text="Data:"/>
</s:VGroup>
</s:HGroup>
</s:Panel>
</s:Application>
显示 MXML 语法









