1

我正在使用扩展BorderContainer类在 Flex 中创建一个自定义组件,并且当我在主应用程序中使用它时,我希望能够在标签集中放置其他内容,如下所示:

<components:CustomComponent title="Hello">
    <s:Label text="If you have one enter it below:"/>
    <mx:Spacer height="15" />

    <s:HGroup>
        <s:TextInput width="250"/>
        <s:Button label="Submit"/>
    </s:HGroup>
</components:CustomComponent>

这工作得很好,除了我的组件定义里面有一些额外的东西,比如 a<s:Label/>和样式,当我去使用它时,它被上面的标签集中的内容所取代。

如果我没有在标签集中放置任何内容,则不会替换组件中最初的内容。

有没有一种方法可以让我在使用组件时简单地在组件内附加其他内容,而不是每次都替换它?

感谢您的时间!

4

1 回答 1

1

不是“简单地”,你必须解决它。这是一篇包含血腥细节的博客文章,包括一个带有源代码的示例应用程序:http: //www.munkiihouse.com/? p=37 (第 3 步)

总之,您编写该类以拦截设置为默认“虚拟”属性的子组件,并稍后将它们添加到您的“主”属性/容器中。

主要属性是您在自定义组件定义中拥有现有元素的属性。dummy 属性是组件实例将添加元素的默认属性。

祝你好运。

于 2012-04-14T01:05:28.367 回答