我有一个看起来像这样的数组,迭代:
(languageArray[i].languageName); //e.g. "French"
(languageArray[i].languageCode); //e.g. "fre"
我正在尝试使用此数组填充fl.controls.ComboBox dataProvider。我想要做的是设置labelfield,如文档中所示:
myComboBox.dataProvider = dp;
myComboBox.labelField = "firstName";
我的代码:
myComboBox.dataProvider = dp;
myComboBox.labelField = languageName;
myComboBox.data = languageCode;
换句话说,我希望显示名称,并将'data'作为代码,当我点击该项目时将调用该代码。但labelField与“French”不同。如何在数组中创建两个字段,以便我可以将第一个指定为labelField,将第二个指定为数据?
感谢。
答案 0 :(得分:2)
myComboBox.labelField = "languageName";
答案 1 :(得分:2)
@Jens回答,
myComboBox.labelField = "languageName";
myComboBox.dataField = "languageCode";
应该纠正这个。 labelField和data属性正在查找稍后用于引用对象属性的String。
没有引号,你告诉它在将来查找一个Object(无论languageName在此上下文中计算的属性)属性。 (IE:如果languageName评估为“Class 0xAB12CB00”,或者在此上下文中类似无用的toString,它将尝试查找对象[“Class 0xAB12CB00”]并将其用作labelField)。