我有两个相关的ComboBoxes(大陆和国家).当大陆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个国家’的项目).我点击组合然后我可以看到国家.
现在,我选择“非洲”,第一个项目显示,ComboBox关闭,然后当我点击它时,这些国家仍然是来自亚洲的国家.无论如何,如果我单击列表中的项目,那么列表正确更新,并且它具有正确的信息(正如我所说它影响其他ComboBoxes).所以唯一的问题是显示列表没有得到更新.
>将XMLList转换为XMLCollection甚至是ArrayCollection
>添加this.resellersCountry.invalidateDisplayList();
>触发DATA_CHANGE和UPDATE_COMPLETE等事件
我知道他们没有多大意义,但我有点绝望.
请注意,当我使用3.0.0 SDK时,这没有发生.
对不起,如果我是愚蠢的,但是弹性事件正在扼杀我.