RadioButtonGroup在组件中添加了每个RadioButton?

时间:2010-05-25 23:57:53

标签: actionscript-3 flex3

在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以获取当前选择。但是,它似乎没有这种方式。

我正在尝试做什么,或者我可能只是错过了什么?

谢谢!

1 个答案:

答案 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" ... />

未经测试,但希望能给你一个想法