簡體   English   中英

Flex AS3:ComboBox設置為false不會隱藏

[英]Flex AS3: ComboBox set visible to false doesn't hide

我在視圖中有一個組合框,用於接收有關應用程序狀態更改的信息,然后應該根據整個應用程序狀態顯示或隱藏其子級。

它接收狀態更改消息,跟蹤正確的值,執行應有的功能,但是似乎不起作用。 本質上,它所需要做的就是在一個狀態下隱藏組合框,並在另一狀態下再次顯示它。

這是代碼:

public function updateState(event:* = null):void {
        trace("Project Panel Updating State");
        switch(ApplicationData.getSelf().currentState) {
            case 'login':
                this.visible = false;
                break;
            case 'grid':
                this.visible = true;
                listProjects.includeInLayout = false;
                listProjects.visible = false;
                trace("ListProjects: " + listProjects.visible);
                listLang.visible = true;
                break;
            default:
                break;


        }
    }

這是MXML:

    <mx:HBox>
    <mx:Button id="btnLoad" x="422" y="84" label="Load" enabled="true" click="loadProject();"/>
    <mx:ComboBox id="listProjects" 
                x="652" 
                y="85" 
                editable="true" 
                change="listChange()" 
                color="#050CA8" 
                fontFamily="Arial" />   
    <mx:Label x="480" y="86" text="Language:" id="label3" fontFamily="Arial" />
    <mx:ComboBox id="listLang" 
                x="537" 
                y="84" 
                editable="true" 
                dataProvider="{langList}" 
                color="#050CA8" 
                fontFamily="Arial" 
                width="107" 
                change="listLangChange(event)"/>
    <mx:CheckBox x="830" y="84" label="Languages in English" id="langCheckbox" click='toggleLang()'/>
</mx:HBox>

您的代碼在何處以及如何調用updateState函數,以及如何進一步深入解決方案中,尚不清楚,我想我需要看看。 但是,我認為您可能想考慮其他方法。

您是否嘗試過使用視圖來代替手動顯示和隱藏事物以及設置屬性? 我認為如果您在開關中的每種情況下都具有不同的視圖狀態(例如“登錄”等),那么您將擁有更簡單的代碼。那么所有顯示的隱藏內容將變成設計時活動,而不是運行時,要做的就是設置當前狀態。

如果將狀態名稱與ApplicationData currentState值進行匹配,則甚至可以完全取消updateState函數。

您是否嘗試過改變

updateState(event:* = null):void

對此

updateState(event:Event = null):void

我仍在調查事件:*,到目前為止,我發現的所有內容都使用事件而不是*。 仍會重新發布

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM