【问题标题】:Can I use a different ItemRenderer for different list items?我可以为不同的列表项使用不同的 ItemRenderer 吗?
【发布时间】:2010-08-03 17:24:04
【问题描述】:

我有一个 Flex 列表和一个自定义 ItemRenderer。我希望能够让列表中的 一些 项目使用不同的 ItemRenderer(例如,取决于项目的类)。这可能吗?

例如:

<s:List dataProvider="{_systems}" itemRenderer="myItemRenderer"/>

_systems 中的大多数项目都使用 myItemRenderer。但如果 _systems 的元素 3 是“specialSystem”,则渲染器将是“specialItemRenderer”。

这可能吗?

【问题讨论】:

    标签: apache-flex actionscript-3 flex4


    【解决方案1】:

    使用itemRendererFunction

    这是blog post tutorial on that。我也提到了this here

    【讨论】:

      【解决方案2】:

      您使用 Canvas 作为 ItemRenderer 并实现自动创建其他控件的机制。

      您可以在本文中找到更多详细信息:Different Items renderers in List

      主要思想:

      您创建特殊的 ItemRenderer 可以创建“模拟”其他控件, 在我们的例子中,它是 Canvas 的子类 它只是创建并添加所需的 控制。然后我们需要一些机制 告诉我们的容器哪个渲染器 我们想效仿,为此我们 使用带有特殊的 ItemContainerData 字段。

      【讨论】:

      • 这将是 Flex 3,Halo 列表的唯一方法。但是 Flex 4 引入了 itemRendererFunction,它将提供更简洁的实现。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-17
      • 2019-06-29
      • 1970-01-01
      • 2018-10-23
      • 1970-01-01
      • 2013-04-13
      相关资源
      最近更新 更多