我在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>
如果我没有在标记集中放置任何内容,则不会替换组件中最初的内容。
有什么方法可以在我去使用它时在组件内添加额外的内容,而不是每次都替换它?
感谢您的时间!
答案 0 :(得分:1)
不是“简单”,你必须解决它。 这是一篇包含血腥细节的博客文章,包括一个包含源代码的示例应用程序:http://www.munkiihouse.com/?p=37(步骤3)
总之,您可以编写脚本来拦截设置为默认“dummy”属性的子组件,并稍后将它们添加到“main”属性/容器中。
主要属性是您在自定义组件定义中包含现有元素的属性。 dummy属性是组件实例将元素添加到的默认属性。
祝你好运。