我的代码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子项识别为具有所选项目(此问题仅在模式弹出窗口关闭后出现。)。
答案 0 :(得分:1)
您可以使用以下方法阻止它:
if(yearsCb.selectedItem != null){
}
答案 1 :(得分:1)
您可以扩展ComboBox
控件,以便在从弹出窗口中选择项目时将selectedItem
对象存储在变量中,或者您可以将控件外部的值存储在变量中的其他位置应用程序,以便稍后引用。
此外,如果在弹出窗口关闭后动态创建ComboBox
的{{1}} {@ 1}},您将需要使用dataProvider
存储selectedItem
您的变量引用的项目将被销毁。