flex复选框组

时间:2012-08-27 20:28:32

标签: actionscript-3 flex flex4

我需要使用checkbox作为radiobutton。 在我的情况下,我想定义一个复选框组,但我不知道为什么。 如果我选中一个复选框,我希望其他复选框取消选择

你能帮帮我吗?

由于

3 个答案:

答案 0 :(得分:1)

如果您需要静态数量的单选按钮,则可以使用Spark状态。

<s:states>
    <s:State name="check1"/>
    <s:Stage name="check2"/>
</s:States>

<s:CheckBox selected="false" selected.check1="true" click="currentState='check1'"/>
<s:CheckBox selected="false" selected.check2="true" click="currentState='check2'"/>

当您单击第一个时,它会触发“check1”状态,其中第一个复选框被选中而另一个未被选中。单击第二个则相反。显然,这并不像有些人希望的那样灵活。但如果它是一个界面元素(如选项菜单),它就是完美的。

如果您了解如何以及何时使用它们,那么状态非常有用。在上周末,我使用它们创建了一个all-Flex slideshow,这是一个很好的例子,说明这个简单的小数组有多强大。

编辑:我只是将一个简单的应用程序组合在一起进行测试,看起来它看起来不会像点击一样。不过,我确信你可以修补另一个事件来让它发挥作用。对不起,这不起作用。

答案 1 :(得分:0)

我会使用RadioButton,但如果您真的想这样做,我会采用LondonDrugs_MediaServices方法。

CheckBoxRadioButton都来自ToggleButtonBase

创建自己的CheckBoxRadioButtonSkin。将CheckBoxSkin复制到其中并重命名hostComponent

然后在radioButton上使用此外观使其显示为复选框。

答案 2 :(得分:0)

之前我有这样的要求,我使用了一个带有Checkbox的Datagrid作为itemRenderer。

我将Checkbox子类化,覆盖了data getter,以便每次单击时都会取消选中Datagrid的所有项目,除了他之外,不选中。这种方法获得了一些优势:

  1. 可灵活地以编程方式添加多个选项。
  2. 是否显示选项组的标题。
  3. 如果空间有限,则启用滚动条。
  4. 希望解决方案正是您所寻找的。