用于填充Flash组合框的阵列语法

时间:2011-07-31 18:25:08

标签: actionscript-3

我有一个看起来像这样的数组,迭代:

(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,将第二个指定为数据?

感谢。

2 个答案:

答案 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)。