apache-flex - 带有中继器的 Flex ViewStack - 中继器放置在底部

标签 apache-flex repeater viewstack

我在创建 ViewStack 时遇到问题,在 ViewStack 中有一个中继器和其他组件(即 vBox)。中继器放置在 View 的底部。尽管中继器列在其他组件之前,但它位于底部。

是否有解决方法可以让中继器在其他组件之前绘制?

我用谷歌搜索了这个,其他人在另一个网站上问了同样的问题,但没有人回答。我正在从他们的帖子中粘贴示例代码。中继器最后绘制。

谢谢

这是一个例子:

<mx:ViewStack id="viewStack" width="100%" height="100%" backgroundColor="#FFFFFF" 
         backgroundAlpha="1" paddingLeft="5" paddingRight="5" paddingBottom="5">

    <mx:Repeater id="editorsRP" dataProvider="{dynamicFields}" 
          repeatEnd="organizeViewStack();" width="100%" height="100%">

        <editor:DynamicFieldEditor label="{FieldGroup(editorsRP.currentItem).name}" 
              width="100%" height="100%" fields="{FieldGroup(editorsRP.currentItem).fields}" dataProvider="{details}" />

    </mx:Repeater>

    <editor:NotesEditor id="notesEditor" width="100%" height="100%" label="Notes" 
         enabled="false" notesProvider="{attachment}" />

</mx:ViewStack>

最佳答案

我认为问题出在 dataProvider 设置/更改它的值时。

这在上面的代码中没有显示,所以很难知道。但是,每当 this 的值发生变化时,转发器创建的现有子项将从父项中删除,并添加新的。

如果已创建 ViewStack 的子项,则转发器中的子项将放置在现有子项之后。

例如:

 <mx:TabNavigator width="500">
      <mx:VBox label="Static 1" />
      <mx:Repeater dataProvider="{['a','b','c']}">
          <mx:VBox label="From repeater" />
      </mx:Repeater>
      <mx:VBox label="Static 2" />
  </mx:TabNavigator>

在这个实例中,dataProvider 是在转发器初始化期间设置的,因此选项卡按顺序出现:

¦ Static 1 ¦ From Repeater ¦ From Repeater ¦ From Repeater ¦ Static 2 ¦

但是,如果 dataProvider 的值发生变化(或 dataProvider 调度 CollectionChangeEvent),则将删除 3 个转发器子项,并添加新的子项。这将保留 Tab 键顺序:

¦ Static 1 ¦ Static 2 | From Repeater ¦ From Repeater ¦ From Repeater ¦

我注意到您已将 organizeViewStack 方法连接到 repeatEnd 事件处理程序 - 尽管未显示该方法的代码。

这看起来是管理此问题的最佳方式 - 一旦设置好子项,就重新调整它们的顺序。

关于apache-flex - 带有中继器的 Flex ViewStack - 中继器放置在底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3631388/

相关文章:

apache-flex - Datagrid 中的 Flex CheckBox

javascript - Angular JS 如何使用 Protractor 获取中继器的所有行?

c# - C# winforms中有像Flex中 "ViewStack"这样的控件吗?

apache-flex - 弹性 : View Stack Navigator

apache-flex - 针对远程对象的自定义验证器

apache-flex - 有谁知道如何在 Flex Mobile 或设备 "audio"状态中访问 *Native* 声音通知?

eclipse - Tomcat 在 Eclipse 中运行时的 crossdomain.xml 位置

c# - 在用户控件中引用父 Repeater 控件的 DataItem

asp.net - VB.NET Repeater 无数据源的简单数据绑定(bind)