Apache flex Flex组合框奇怪的问题
Flex中的combobox出现了一个奇怪的问题。在以下代码中:Apache flex Flex组合框奇怪的问题,apache-flex,actionscript-3,combobox,Apache Flex,Actionscript 3,Combobox,Flex中的combobox出现了一个奇怪的问题。在以下代码中: public function rollCombo(cmb:ComboBox,value:String):void { if(value=='') return; var i:int=0; cmb.selectedIndex = 0; var dp1:XMLListCollection = (XMLListColle
public function rollCombo(cmb:ComboBox,value:String):void
{
if(value=='') return;
var i:int=0;
cmb.selectedIndex = 0;
var dp1:XMLListCollection = (XMLListCollection(cmb.dataProvider);
trace(value);
while(dp1[i]!=value && i<dp1.length)
cmb.selectedIndex = ++i;
cmb.validateNow();
cmb.validateDisplayList();
trace(cmb.selectedLabel);
}
公共函数rollCombo(cmb:ComboBox,值:String):void
{
如果(值=“”)返回;
变量i:int=0;
cmb.selectedIndex=0;
var dp1:XMLListCollection=(XMLListCollection(cmb.dataProvider);
跟踪(值);
而(dp1[i]!=value&&i上一个selectedIndex超出了范围,因为您使用了预增量。这意味着我在测试之前变成了dp1.length,并且它也被分配给selectedIndex。这可能解释了奇怪的行为。您可能需要使用后增量
而且,在这段时间内执行的唯一一件事看起来是
cmb.selectedIndex = ++i;
我不知道这是否是你想要的,但你可能需要一些“{}”