在操作脚本 3 中,我有一个整数对象数组,我将其传递给 TileList 控件作为数据提供程序。我希望每个单击的数字都可以调用具有唯一参数的函数,因此对于列表中的每个图像,要调用的函数都有唯一的 String 参数值。如何在操作脚本中实现此目的?
对象数组如下所示:
private var nums:Array = [
{label:"1"},
{label:"2"},
{label:"3"},
{label:"5"},
{label:"6"},
{label:"7"}
];
"磁贴列表"控件:
<mx:TileList >
<mx:dataProvider>
{nums}
</mx:dataProvider>
</mx:TileList>
结果是这样的:
1 2 3 4
5 6 7
对于单击的每个数字,我想将以下函数与 unqiue 消息绑定:
function alertMsg(var message:String){
Alert.show(message);
}
传递的消息示例是(单击1:您好| 点击2:威尔科门)等。
谢谢
向 nums
数组中的每个元素添加新参数:
{label: "1", data:"Hello"},
{label: "2", data:"Wilkommen"}
...
TileList
类具有selectedItem
属性。selectedItem
是一个对象。因此,很容易获取data
变量的值。
tile_list.selectedItem.data
添加组合框 使用"关闭"标记更改事件侦听器处理程序,并像以前一样添加数据提供程序标记 laso。
<mx:ComboBox dataProvider="{nums}" close="getData(event);">
</mx:ComboBox>
并使用附加参数创建数组集合
[Bindable]
private var nums:ArrayCollection = new ArrayCollection( [
{label:"1", data:"One"},
{label:"2", data:"Two"},
{label:"3", data:"Three"}
]);
然后实现 detData(event) 函数,如下所示
private function getData(e:DropdownEvent):void{
Alert.show(e.currentTarget.selectedItem.data);
}