ComboBox选择无法识别

时间:2011-04-19 10:48:43

标签: flex actionscript-3 flex4

我的代码snipet看起来像:

<s:HGroup horizontalAlign="center">
    <s:Label text="Anul : " paddingTop="5"/>
    <s:ComboBox id="yearsCb" change="yearsCb_changeHandler(event)" labelField="year"/>
</s:HGroup>

另外,在我的代码中,打开弹出窗口后,我遇到以下代码:

trace(yearsCb.selectedItem.year);

抛出臭名昭着的错误:

  

TypeError:错误#1010:术语未定义且没有属性。       在Function / netcom.vort3x.agr_reg.client.builders.chapters.cont ....

您是否了解该错误的原因以及如何预防?

N.B。触发此错误的代码是单击处理程序的结果。如果在遇到此错误之前更改了我的yearsCb上的选择,那么就可以了。

编辑:

我忘了指定当我的ComboBox中的选定项目时抛出此错误。似乎在持有ComboBox的容器失去焦点之后,它无法将其ComboBox子项识别为具有所选项目(此问题仅在模式弹出窗口关闭后出现。)。

2 个答案:

答案 0 :(得分:1)

您可以使用以下方法阻止它:

if(yearsCb.selectedItem != null){

}

答案 1 :(得分:1)

您可以扩展ComboBox控件,以便在从弹出窗口中选择项目时将selectedItem对象存储在变量中,或者您可以将控件外部的值存储在变量中的其他位置应用程序,以便稍后引用。

此外,如果在弹出窗口关闭后动态创建ComboBox的{​​{1}} {@ 1}},您将需要使用dataProvider存储selectedItem您的变量引用的项目将被销毁。