Flex - Control de ComboBox
Cuando el usuario selecciona un elemento de la lista desplegable en el control ComboBox, el elemento de datos aparece en el área de solicitud del control.
Una diferencia entre los controles ComboBox y DropDownList es que el área de solicitud del control ComboBox se implementa mediante el control TextInput, mientras que en el caso del control DropDownList, es el control Label. Por lo tanto, un usuario puede editar el área de solicitud del control para ingresar un valor que no sea una de las opciones disponibles.
Declaración de clase
A continuación se muestra la declaración de spark.components.ComboBox clase -
public class ComboBox
extends DropDownListBase
implements IIMESupport
Propiedades publicas
No Señor | Descripción de propiedad |
---|---|
1 | enableIME : Boolean [solo lectura] |
2 | imeMode : String |
3 | itemMatchingFunction : Function = null Especifica una función de devolución de llamada utilizada para buscar en la lista de elementos cuando el usuario ingresa caracteres en el área de mensajes. |
4 | labelToItemFunction : Function Especifica una función de devolución de llamada para convertir un nuevo valor ingresado en el área de solicitud al mismo tipo de datos que los elementos de datos en el proveedor de datos. |
5 | maxChars : int El número máximo de caracteres que puede contener el área de mensajes, según lo ingresado por un usuario. |
6 | openOnInput : Boolean = true Si es verdadero, la lista desplegable se abre cuando el usuario edita el área de solicitud. |
7 | prompt : String Texto que se mostrará si / cuando el texto de entrada es nulo. |
8 | restrict : String Especifica el conjunto de caracteres que un usuario puede ingresar en el área de mensajes. |
Métodos públicos
No Señor | Método y descripción |
---|---|
1 | ComboBox() Constructor. |
Métodos heredados
Esta clase hereda métodos de las siguientes clases:
- spark.components.supportClasses.DropDownListBase
- spark.components.List
- spark.components.supportClasses.ListBase
- spark.components.SkinnableDataContainer
- spark.components.supportClasses.SkinnableContainerBase
- spark.components.supportClasses.SkinnableComponent
- mx.core.UIComponent
- mx.core.FlexSprite
- flash.display.Sprite
- flash.display.DisplayObjectContainer
- flash.display.InteractiveObject
- flash.display.DisplayObject
- flash.events.EventDispatcher
- Object
Ejemplo de control Flex ComboBox
Sigamos los siguientes pasos para verificar el uso del control ComboBox en una aplicación Flex creando una aplicación de prueba:
Paso | Descripción |
---|---|
1 | Cree un proyecto con un nombre HelloWorld en un paquete com.tutorialspoint.client como se explica en el capítulo Flex - Crear aplicación . |
2 | Modifique HelloWorld.mxml como se explica a continuación. Mantenga el resto de los archivos sin cambios. |
3 | Compile y ejecute la aplicación para asegurarse de que la lógica empresarial funcione según los requisitos. |
A continuación se muestra el contenido del archivo mxml modificado src/com.tutorialspoint/HelloWorld.mxml
<?xml version = "1.0" encoding = "utf-8"?>
<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"
width = "100%" height = "100%" minWidth = "500" minHeight = "500">
<fx:Style source = "/com/tutorialspoint/client/Style.css" />
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var data:ArrayCollection = new ArrayCollection (
[
{value:"France", code:"FR"},
{value:"Japan", code:"JP"},
{value:"India", code:"IN"},
{value:"Russia", code:"RS"},
{value:"United States", code:"US"}
]
);
private function mappingFunction(input:String):Object {
switch (input){
case "France":
return {value:input, code:"FR"};
case "Japan":
return {value:input, code:"JP"};
case "India":
return {value:input, code:"IN"};
case "Russia":
return {value:input, code:"RS"};
case "United States":
return {value:input, code:"US"};
}
return null;
}
]]>
</fx:Script>
<fx:Declarations>
<mx:DateFormatter id = "dateFormatter" />
</fx:Declarations>
<s:BorderContainer width = "550" height = "400" id = "mainContainer"
styleName = "container">
<s:VGroup width = "100%" height = "100%" gap = "50" horizontalAlign = "center"
verticalAlign = "middle">
<s:Label id = "lblHeader" text = "Form Controls Demonstration"
fontSize = "40" color = "0x777777" styleName = "heading" />
<s:Panel id = "comboBoxPanel" title = "Using ComboBox" width = "420"
height = "200">
<s:layout>
<s:VerticalLayout gap = "10" verticalAlign = "middle"
horizontalAlign = "center" />
</s:layout>
<s:HGroup>
<s:Label text = "Index :" /> <s:Label
text = "{comboBox.selectedIndex}" fontWeight = "bold" />
<s:Label text = "Value :" /> <s:Label
text = "{comboBox.selectedItem.value}" fontWeight = "bold" />
<s:Label text = "Code :" /> <s:Label
text = "{comboBox.selectedItem.code}" fontWeight = "bold" />
</s:HGroup>
<s:ComboBox id = "comboBox" dataProvider = "{data}" width = "150"
labelToItemFunction = "{mappingFunction}" selectedIndex = "0"
labelField = "value" />
</s:Panel>
</s:VGroup>
</s:BorderContainer>
</s:Application>
Una vez que esté listo con todos los cambios realizados, compilemos y ejecutemos la aplicación en modo normal como hicimos en el capítulo Flex - Crear aplicación . Si todo está bien con su aplicación, producirá el siguiente resultado: [ Pruébelo en línea ]