Flex combobox нужно выбрать дважды, чтобы открыть выпадающий список - PullRequest
0 голосов
/ 12 марта 2011

Когда в приложении Flex выбрано поле со списком, происходит быстрое мерцание, затем необходимо снова выбрать поле со списком, чтобы открыть раскрывающийся список.После этого раскрывающийся список работает, как и ожидалось, но только при последующем выборе элемента управления в форме.Перезагрузка формы требует двойного выбора снова.Любое понимание того, как это прояснить, будет очень цениться.

1 Ответ

0 голосов
/ 14 марта 2011

Я должен был обойти эту проблему, создав собственный компонент, расширяющий элемент управления ComboBox, который будет устанавливать список ComboBox dataProvider одновременно с dataProvider.

* 1005 ComboBox.* 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; 
            }
        }
    }
}
...