【问题标题】:flex tab navigator弹性标签导航器
【发布时间】:2011-05-03 22:10:42
【问题描述】:

我有一个带有 3 个选项卡的 flex 应用程序 mxml 文件。第一个选项卡具有链接按钮,用于选择第三个选项卡中的值。

假设,我在第一个 atab 中有一个链接按钮。第三个选项卡包含具有值的组合框:“基本”、“高级”。默认情况下,值显示“默认”。

当我选择第一个选项卡上的链接按钮时,“高级”应显示在第三个选项卡的组合框中。

问题是,当点击第一个选项卡链接按钮时,当时第三个选项卡没有初始化。所以它没有在组合框中显示“高级”。在链接按钮上选择第二次显示正常。但不是第一次。

代码:thirdTab.comboBoxId.selectedItem.data = 1;

如果需要任何更改,请帮助我

【问题讨论】:

    标签: apache-flex adobe


    【解决方案1】:

    将事件侦听器添加到由 TabNavigator 的父级处理的第三个选项卡。该事件的处理程序应该能够从第一个选项卡(可能存储在公共父项中)获取值并将其返回到第三个选项卡,以便可以正确设置 ComboBox。从第三个选项卡监听 creationComplete 事件。

    【讨论】:

    • 酷..它的好主意。你能传递示例代码吗,如何添加监听器并在第三个选项卡上调度和捕获事件。
    【解决方案2】:

    第一次激活选项卡时会对其进行初始化,因此您的代码应该不起作用。 您可以分离数据模型并将所有 UI 控件绑定到模型。

    【讨论】:

    • 这是最好的答案。你应该使用类似于 MVC 的东西来解决这类问题
    【解决方案3】:

    肮脏的方法是将标签导航器的creationPolicy 属性设置为ContainerCreationPolicy.ALL。这将确保一次初始化所有选项卡。

    正确的方法是将模型与视图分离,并按照Yuras 所说的那样使用绑定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-04
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 2015-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多