在Flex 3中工作,我在画布上呈现了一系列组件,每个组件都应该代表一个潜在的选择,理想情况是在RadioButtonGroup中。所以在我的父画布中我定义了RadioButtonGroup,每个组件都提供了一个RadioButton。但是,这似乎不起作用。
假设有一个名为aComponent的组件定义如下:
<mx:Canvas ...>
...
<mx:RadioButton id="someButton" groupName="myRadioButtonGroup" ... />
</mx:Canvas>
外部画布:
<mx:Canvas id="outerCanvas" ...>
...
<mx:Script>
public function doesSomething():void
{
var myComponent:aComponent = new aComponent();
outerCanvas.addChild(myComponent);
}
</mx:Script>
...
<mx:RadioButtonGroup id="myRadioButtonGroup" />
</mx:Canvas>
所以我的猜测是,在这一点上,如果添加了其中四个组件,单选按钮将以互斥的方式运行,我将能够访问myRadioButtonGroup.selectedValue以获取当前选择。但是,它似乎没有这种方式。
我正在尝试做什么,或者我可能只是错过了什么?
谢谢!
答案 0 :(得分:0)
编辑 - 了解它的底部:
该组件无法使用radiobuttongroup。它的父有'myRadioButtonGroup',但不是组件..将'myRadioButtonGroup'传递给构造函数并使用它..
outerCanvas函数:
var myComponent:aComponent = new aComponent(myRadioButtonGroup);
aComponent定义:
private var radioGroup:RadioButtonGroup;
function aComponent(radioGroup:RadioButtonGroup):void {
this.radioGroup = radioGroup;
}
</mx:Script>
<mx:RadioButton id="someButton" groupName="radioGroup" ... />
未经测试,但希望能给你一个想法