首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TabNavigator无法处理Flex4.5中的残疾儿童

TabNavigator无法处理Flex4.5中的残疾儿童
EN

Stack Overflow用户
提问于 2011-06-08 12:56:46
回答 1查看 942关注 0票数 10

我在将TabNavigator从Flex 3迁移到Flex4.5时遇到了问题。除去以下代码后的最小值将产生错误,即TabNavigator的第二个子级无法正确创建:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<s:Application 
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    >
    <fx:Script>
        <![CDATA[
            protected function over():void
            {
                trace('over');
            }

            protected function content_one_init():void
            {
                content_one.enabled = true;
                navigator.selectedIndex = 1;
            }

        ]]>
    </fx:Script>
    <mx:TabNavigator
        id="navigator"
        creationPolicy="auto"
        width="100%" height="100%"
        >
        <mx:VBox
            id="content_one"
            enabled="false"
            creationComplete="content_one_init()"
            label="One"
            mouseOver="over()"
            />
        <mx:VBox label="Two">
            <mx:Label text="Content Two" />
        </mx:VBox>
    </mx:TabNavigator>
</s:Application>

在启动时,我看到的是一个TabNavigator,它的第二个选项卡被选中,但是没有内容,而不是预期的"Content“标签。navigator.selectedIndex = 1;指令的存在只是为了舒适,如果您在启动后用鼠标选择第二个选项卡,错误也会出现。

现在来了有趣的部分:如果我做了以下任何一件事,第二个孩子就会被创建:

  • creationPolicy="all"设置为content_one (这是预期的),
  • 评论content_one.enabled = true
  • 删除enabled="false" on content_one,
  • mouseOver="over()"中删除content_one (这个非常奇怪,因为处理程序从来没有被调用过)

这真的是Flex的错误吗,还是我遗漏了什么?我使用的是Flex 4.5.0.20967,所有这些都在Flex 3.5中运行得很好。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-16 09:31:23

这已被确认为Adobe的一个bug,并在他们的错误数据库中备案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6279037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档