一直都没看到过类似于 这样的组件。也就是在ComboBox的提示label上显示其他的元素。例如颜色或者图片等。上网搜了搜也没发现有人用Flex实现过类似的组件,于是自己就动手写了一个。
/** * 提示的值.Object * @param value * */ public function set iconPrompt(value : Object) : void{ _iconPrompt = value; iconPromptChanged = true; invalidateProperties(); } public function get iconPrompt() : Object{ return _iconPrompt; } /** * "提示的组件"的类名 * @param value * */ public function set labelClass(value : Class) : void{ _labelClass = value; } public function get labelClass() : Class{ return _labelClass; }
主要的思路就是重写一下ComboBox组件,在ComboBox里面添加一个组件用来显示颜色或者图片。
用法:
<AdvancedComboBox xmlns="com.journal.components.control.*" xmlns:mx="http://www.adobe.com/2006/mxml" labelClass="mx.containers.Canvas">
然后动态指定iconPrompt即可。