我刚开始使用 Flex。我知道这很可悲,但这是一个很长的故事。现在,我面临的问题是我有一个列表组件,上面有一个数据提供者。我想做的是,当单击列表中的一个项目时,我希望在标签旁边有一个复选标志。
下面是组件:
<s:List id="tabList" width="100%"
borderVisible="false" click="tabList_clickHandler(event)"
selectedIndex="{this.hostComponent.selectedIndex}"
itemRenderer="MultiTabListRenderer" />
下面是 Itemrenderer 代码:
protected function AddCheck_clickHandler(event:MouseEvent):void {
// TODO Auto-generated method stub
var checkLabel:Label;
checkLabel = new Label();
checkLabel.text = "checkMark";
var e: ItemClickEvent = new ItemClickEvent(ItemClickEvent.ITEM_CLICK, true);
e.item = data;
e.index = itemIndex;
dispatchEvent(e);
this.checkRectGroup.addElementAt(checkLabel, e.index);
}
<s:Label id="customMultitabList" text="{data.label}"
left="10" right="0" top="6" bottom="6" click="AddCheck_clickHandler(event)"/>
我在函数中的代码是错误的,这主要是因为我不理解 flex 中的每一个内容。我没有心情详细学习这门语言,因为这对我来说不是一项长期的工作。此外,在渲染器文件中,当我使用 s:List 而不是 s:label 时,我再也看不到标签了。当然,我将属性文本替换为 dataprovider={data.selectedItem}。