【问题标题】:How to render repeated RadioButtons in Flex with DataGroup?如何使用 DataGroup 在 Flex 中呈现重复的 RadioButtons?
【发布时间】:2015-09-07 13:45:27
【问题描述】:
<s:DataGroup id="group" dataProvider="{data}" >
  <s:itemRenderer>
    <s:RadioButton value="{group.currentItem}"/>
  </s:itemRenderer>
</s:DataGroup>

我想使用DataGroup 渲染多个RadioButton

问题一:FlashBuilder 显示错误:In initializer for 'itemRenderer', type spark.components.RadioButton is not assignable to target type 'mx.core.IFactory'.

问题 2:group.currentItem 未定义。如何获取ArrayCollection数据的实际项?

【问题讨论】:

    标签: actionscript-3 apache-flex actionscript


    【解决方案1】:

    要使用内联 itemRenderer,您必须将组件包装在组件声明和 ItemRenderer 中,例如:

    <s:DataGroup id="group" dataProvider="{dataProvider}" >
        <s:itemRenderer>
            <fx:Component>
                <s:ItemRenderer>
                    <s:RadioButton value="{data}" label="{data.label}" selected="{data.value}"/>
                </s:ItemRenderer>
            </fx:Component>
        </s:itemRenderer>
    </s:DataGroup>
    

    spark ItemRenderer 公开一个 Object 类型的 data 属性,该属性保存 dataProvider 中每个项目的数据。

    这取决于您的数据的实际外观,但对于上面的示例,它可能类似于:

    var dataProvider:ArrayCollection = new ArrayCollection([{label: 'item1', value: true}, {label: 'item2', value: false}]);
    

    您可能还想为您的项目使用另一个容器,例如 List,因为 DataGroup 会将每个 RadioButton 呈现在彼此之上...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-02
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-25
      • 2021-12-03
      相关资源
      最近更新 更多