gpt4 book ai didi

flex3 - 弹性 3.5.0;在数据提供程序更改时更新 ComboBox 显示列表

转载 作者:行者123 更新时间:2023-12-04 16:56:37 25 4
gpt4 key购买 nike

我有两个相关的组合框(大陆和国家)。当大陆 ComboBox 更改时,我从某个 URL 请求 XML。当我收到该 XML 时,我更改了国家/地区 ComboBox 的 DataProvider,如下所示:

public function displayCountryArray( items:XMLList ):void
{
this.resellersCountryLoader.alpha = 0;
this.resellersCountry.dataProvider = items;
this.resellersCountry.dispatchEvent( new ListEvent( ListEvent.CHANGE ) );
}

我调度 ListEvent.CHANGE 因为我用它来改变另一个 ComboBox 所以请忽略它(和第一行)。

所以,我的问题是这样的:我从第一个大洲中选择“ASIA”,然后组合框 DATA 得到更新(我可以看到,因为第一个 ITEM 是带有标签 '23 countries' 的项目)。我点击组合然后我可以看到国家。

现在,我选择“非洲”,显示第一个项目,关闭组合框,然后当我单击它时,国家仍然是亚洲的国家。无论如何,如果我单击列表中的一个项目,则列表会正确更新,并且它具有正确的信息(正如我所说,它会影响其他 ComboBoxes )。所以唯一的问题是显示列表没有更新。

在这个函数中,我尝试了这些方法
  • 将 XMLList 转换为 XMLCollection 甚至 ArrayCollection
  • 添加 this.resellersCountry.invalidateDisplayList();
  • 触发 DATA_CHANGE 和 UPDATE_COMPLETE 等事件
    我知道他们没有多大意义,但我有点绝望。

  • 请注意,当我使用 3.0.0 SDK 时,这并没有发生。

    对不起,如果我很愚蠢,但弹性事件正在杀死我。

    最佳答案

    设置组合框下拉菜单的数据提供者似乎可以解决这个问题。

    this.resellersCountry.dataProvider = items;
    this.resellersCountry.dropdown.dataProvider = items;

    关于flex3 - 弹性 3.5.0;在数据提供程序更改时更新 ComboBox 显示列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2546017/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com