我有一个Flex转发器,它有一个复杂的项目模板。单击复选框时,我需要切换同一转发器模板中包含的同级按钮的可见性。由于我无法将绑定表达式添加到事件处理程序,因此无法传入转发器项的索引。
如何在转发器项目中访问同级组件?
答案 0 :(得分:0)
由于没有人心里想回答我的问题,我会自己做。
public function onSomeEvent(e:Event):void {
var checkBox:CheckBox = e.currentTarget as CheckBox;
targetComponentId[e.target.instanceIndex].visible = !checkBox.selected;
}
触发事件后,您可以从事件的target属性中获取instanceIndex。您只需要引用您尝试访问的组件的正确索引,因为Repeater中的组件存储为Array,索引对应于Repeater列表中项目的索引。