更多内部Flex自定义组件

时间:2012-04-14 00:53:56

标签: flash flex air components custom-component

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

<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>

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

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

有什么方法可以在我去使用它时在组件内添加额外的内容,而不是每次都替换它?

感谢您的时间!

1 个答案:

答案 0 :(得分:1)

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

总之,您可以编写脚本来拦截设置为默认“dummy”属性的子组件,并稍后将它们添加到“main”属性/容器中。

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

祝你好运。