apache-flex Flex -使用visible和includeInLayout隐藏mxml

0s0u357o  于 2022-11-01  发布在  Apache
关注(0)|答案(3)|浏览(202)

我试图在加载mxml页面时隐藏Year 2017。我使用了visible和includeInLayout属性,但似乎不起作用。
有人能帮我吗?
一些代码编写于- Year2017.mxml、Year2016.mxml、Year2015.mxml
MainScreen.mxml

<mx:HBox 
    <component:PopupOpenerViewStack
                id="payeVS" 
                borderStyle="none" 
                width="100%" 
                height="100%" 
                componentToFocusOn="{controlBar.overviewBut}"
                selectedIndex="{ this.mainModel.navigator.selectedIndex }" >

                <view1:Year2017 
                    width="100%" 
                    height="100%"
                    visible="{isVisible}" 
                    includeInLayout="{isVisible}" />

                <view1:Year2016 
                    width="100%" 
                    height="100%"/>

                <view1:Year2015 
                    width="100%" 
                    height="100%"/>                     
        </component:PopupOpenerViewStack>
</mx:HBox>
qncylg1j

qncylg1j1#

视图堆栈的工作方式是根据索引显示子视图。在这种情况下,它将在一个Popup中打开。我需要PopupOpener的内部结构来给予更准确的答案。

您不能更改this.mainModel.navigator.selectedIndex而不设置isVisble吗?

这也取决于所需的行为。如果你打开了弹出窗口,并将其更改为可见,需要发生什么?

mf98qq94

mf98qq942#

我猜你想要的是2007年不包括在堆栈中,那不是不可见的吗?你试过用状态来表示它吗?

blpfk2vs

blpfk2vs3#

感谢您的所有意见。问题已解决。
正如Robin所提到的,visible或includeInLayout属性不能与PopupOpenerViewStack一起使用,所以我必须读取viewStack中每个项目的索引值,并且每当我想隐藏一个元素时,我都会执行payeVS.removeChildAt(0)。
谢谢瓦拉莎

相关问题