【问题标题】:My item renderer is not finding property "data."我的项目渲染器没有找到属性“数据”。
【发布时间】:2011-02-28 16:16:47
【问题描述】:

我正在尝试为我的列表创建一个自定义按钮渲染器,但它一直显示未识别的属性“数据”。这是我的代码。

渲染器:

<?xml version="1.0" encoding="utf-8"?>
<s:Button xmlns:fx="http://ns.adobe.com/mxml/2009" 
          xmlns:s="library://ns.adobe.com/flex/spark" 
          xmlns:mx="library://ns.adobe.com/flex/mx" label="{data.label}">
</s:Button>

调用渲染器的对象:

<s:List x="80" y="88" width="142" height="384" dataProvider="{navigation}" itemRenderer="com.renderers.NavigationRenderer" borderVisible="false"/>

以及保存列表数据的数组集合:

[Bindable]
private var navigation:ArrayCollection = new ArrayCollection([
    {label:"Home",state:"Home"},{label:"Tools",state:"Tools"}
]);

我做错了什么?

【问题讨论】:

    标签: flash apache-flex button adobe itemrenderer


    【解决方案1】:

    s:Button 是否有一个名为 data 的属性?

    让您的渲染器扩展 ItemRenderer 类。 More information here

    你的渲染器应该是这样的:

    <?xml version="1.0" encoding="utf-8"?>
    <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
              xmlns:s="library://ns.adobe.com/flex/spark" 
              xmlns:mx="library://ns.adobe.com/flex/mx" >
    <s:Button label="{data.label}">
    </s:ItemRenderer>
    

    【讨论】:

      【解决方案2】:

      火花按钮没有实现 IDataRenderer 接口。

      您可以轻松地将按钮放置在 ItemRenderer 类中以访问该接口,或者您可以创建一个扩展 Button 并实现 IDataRenderer 的新项目渲染器类。

      【讨论】:

        【解决方案3】:

        Spark 组件默认没有 data 属性。要将组件用作 inderer,它应该实现 IItemRenderer 接口,而 spark Button 没有。

        【讨论】:

          猜你喜欢
          • 2011-03-09
          • 1970-01-01
          • 1970-01-01
          • 2020-09-22
          • 2010-12-20
          • 2016-04-08
          • 2011-02-18
          • 1970-01-01
          • 2015-07-09
          相关资源
          最近更新 更多