Flex выбранные проблемы - PullRequest
       3

Flex выбранные проблемы

3 голосов
/ 15 февраля 2011

Я столкнулся с чем-то странным в flex, возможно, с чем-то, что я делаю неправильно но я не уверен.

В двух случаях, которые я заметил, когда в s: List или s: DropDownList есть только 1 элемент по какой-то причине при использовании list.selectedItem он выглядит как нулевой. Использование requireSelection = "true" я знаю, что это не так.

Кто-нибудь еще видел что-нибудь подобное? или я делаю это совершенно неправильно? Спасибо Jon

Редактировать: в приведенном ниже коде это происходит при нажатии на документ редактирования, который вызывает метод открытого редактирования

------------ Добавлен код ---------------------------

Я удалил небольшие порции, чтобы сделать его более читабельным

<s:TitleWindow width="486" height="300" title="Document Store"
               xmlns:tmsbean="services.tmsbean.*"
               close="close()">
    <fx:Declarations>
        <s:CallResponder id="getAllAttachedDocumentsResult"/>
        <tmsbean:TMSBean id="tMSBean" showBusyCursor="true"/>
        <s:CallResponder id="removeDocumentLinkResult" result="getDocumentList()"/>
    </fx:Declarations>
    <fx:Script>
        <![CDATA[


        private static var documentStoreView:DocumentStoreView = null;
        [Bindable]
        private var attachedToMenomic:String;

        public static function getInstance():DocumentStoreView
        {
            if(documentStoreView == null){
                documentStoreView = new DocumentStoreView();
                DocumentForm.getInstance().addEventListener(DocumentFormEvent.DOCUMENT_ATTACHED,documentStoreView.getDocumentList);
            }
            return documentStoreView;
        }

        public function open(menomic:String,parent:DisplayObject):void
        {
            attachedToMenomic = menomic;
            getDocumentList();
            PopUpManager.addPopUp(documentStoreView,parent,true);
            PopUpManager.centerPopUp(documentStoreView);
            y = y - 80;
        }

        public function close():void
        {
            PopUpManager.removePopUp(documentStoreView);
        }

        private function getDocumentList(evt:DocumentFormEvent = null):void
        {
            getAllAttachedDocumentsResult.token = tMSBean.getAllAttachedDocuments(attachedToMenomic);
        }


        private function openEdit():void{
            var editDsi:DocumentStoreItem = documentList.selectedItem as DocumentStoreItem;
            Alert.show(editDsi.documentName);
            DocumentForm.getInstance().openInEditMode(editDsi,this);
        }

    ]]>
</fx:Script>

<s:VGroup left="10" top="10" right="10" bottom="10">
    <s:List width="100%"  height="100%" id="documentList" itemRenderer="com.documentStore.DocumentItemListRenderer" 
            dataProvider="{Utilitys.toArrayCollection(getAllAttachedDocumentsResult.token.result)}" />
    <s:HGroup horizontalAlign="right" width="100%">
        <s:Button label="Attach Document" click="{DocumentForm.getInstance().open(attachedToMenomic,this)}"/>
        <s:Button label="Edit Document" click="openEdit()"/>
    </s:HGroup>
</s:VGroup> 
</s:TitleWindow>

1 Ответ

2 голосов
/ 15 февраля 2011

По умолчанию DropDownList Spark отображает приглашение , если selectedIndex равно -1, что будет в случае, если requireSelection ложно, и вы не устанавливали список для определенного элемента.Это будет соответствовать значению selectedItem, равному нулю.

Spark ComboBox делает что-то похожее, но у него есть TextInput, так как вы можете ввести его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...