需要选择Flex组合框两次才能打开下拉列表

时间:2011-03-12 19:19:02

标签: flex flex3 combobox

当在flex应用程序中选出组合框时,会有快速闪烁,然后需要再次选择组合框以便打开下拉列表。之后,下拉列表按预期工作,但仅在表单上选择控件后续时间时。重新加载表单需要再次进行双重选择。任何有关如何清除这一点的见解都将非常感激。

1 个答案:

答案 0 :(得分:0)

我必须解决这个问题的方法是创建一个自定义组件,扩展ComboBox控件,该控件将ComboBox的列表dataProvider与ComboBox的dataProvider同时设置

<强> ComboBoxFix.as

package
{
    import mx.controls.ComboBox;

    public class ComboBoxFix extends ComboBox
    {
        public function ComboBoxFix()
        {
            super();
        }

        override public function set dataProvider(value:Object):void 
        {
            super.dataProvider=value;

            if(dropdown != null)
            {
                super.dropdown.dataProvider=value;
            }
        }

        override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number ):void 
        {
            super.updateDisplayList (unscaledWidth, unscaledHeight);
            if (dropdown != null)
            {   
                dropdown.width = unscaledWidth; 
            }
        }
    }
}