Как сохранить подсказку / фиктивный элемент в выпадающем списке flex4 - PullRequest
0 голосов
/ 05 мая 2011

У меня есть раскрывающийся список "Выберите сотрудника", который является необязательным. Мне нужно, чтобы наверху было «Никто», чтобы пользователь мог вернуться к NoOne, если он уже выбрал «Джон Кто-то».

Мой вопрос заключается в том, как сохранить элемент приглашения или добавить фиктивный элемент в значение -1, не меняя поставщика данных (я действительно ненавижу добавлять "Никого" в исходный поставщик данных employeeList)

P / S: те же вопросы, но все еще нет ответа:

Ответы [ 5 ]

1 голос
/ 05 сентября 2012

На всякий случай, если кому-то было интересно, я только что нашел это:

Квитанция

1 голос
/ 15 августа 2011

Добавьте обработчик события изменения в выпадающий список:

change = "{myDropDown.selectedIndex = -1}"

таким образом ваше приглашение будет повторно использовано после выбора элемента.

1 голос
/ 05 мая 2011

Я бы рекомендовал расширить класс ArrayCollection, создав класс с именем «DummyArrayCollection».Вы можете хранить там фиктивную переменную и использовать ее в качестве поставщика данных, не затрагивая первоначальный список сотрудников:

public class DummyArrayCollection extends ArrayCollection
{
    private var _firstElement:String;
    private var _dummyArray:Array;

    public function DummyArrayCollection(source:Array=null)
    {
        super(source);
        _dummyArray = init(source);
        _firstElement = "";
    }

    public function init(src:Array):Array{
        var retArr:Array = new Array();
        retArr[0] = _firstElement; //add your dummy element here
        for(var i:int=0;i<src.length;i++){
            retArr[i] = src[i];
        }
        return retArr;
    }
}
0 голосов
/ 15 февраля 2013

dropDownList.selectedItem = null

0 голосов
/ 06 мая 2011

Вот пример работы с flex 3.Я уверен, что он может быть легко преобразован в flex 4.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init( )" width="100%" layout="absolute">
    <mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            import mx.collections.XMLListCollection;

            [Bindable]
            public var personsList:XMLListCollection;

            private function init( ):void{

                var xml:XML = 
                <root>
                    <persons>
                        <person><label>jim</label><value>jim</value></person>
                        <person><label>joe</label><value>joe</value></person>
                        <person><label>bob</label><value>bob</value></person>
                        <person><label>harry</label><value>harry</value></person>
                        <person><label>sally</label><value>sally</value></person>
                    </persons>
                </root>;

                this.personsList =  new XMLListCollection( xml.persons.person )

                var myFirstNodeXML:XML = <person><label>None Selected</label><value>none</value></person>;
                this.personsList.addItemAt(myFirstNodeXML,0);
                myCB.selectedIndex = 0;
            }

        ]]> 
    </mx:Script>
    <mx:ComboBox id="myCB" dataProvider="{this.personsList}"/>
</mx:Application>
...