更新标签文本字段

时间:2012-11-05 16:07:53

标签: actionscript-3 flex

我使用Label组件来显示ArrayCollection的长度。当我向集合中添加新项目时,如何更新它?

这是Label的文本字段:

text="{model.meetingInfo.documentList.length}"

以下是向集合中添加新项目的处理程序:

var attachmentProgressVO:AttachmentProgressVO = new AttachmentProgressVO();
                attachmentProgressVO.fileReference = file as File;
                newAttachmentList.addItem(attachmentProgressVO);
                checkIfUpdate(file as File, attachmentProgressVO);
                meetingInfo.docsAndAttachmentsList.addItem(attachmentProgressVO);

我尝试添加这两行,但这不起作用:

meetingInfo.docsAndAttachmentsList.itemUpdated( attachmentProgressVO );
                meetingInfo.docsAndAttachmentsList.refresh();

我也试过改变这个:

public var docsAndAttachmentsList:ArrayCollection = new ArrayCollection();

到此:

private var _docsAndAttachmentsList:ArrayCollection = new ArrayCollection();

..有一个吸气剂和二传手但是没有用。

我没有使用正确的方法,是吗?

1 个答案:

答案 0 :(得分:1)

通常,Binding仅查看特定对象;您无法深入查看特定属性的4个对象,并期望绑定更新值。

更改documentList不会更改meetingInfo或Model,因此永远不会触发绑定。 itemUpdated()和refresh()应该更新显示数据的基于列表的类;但不会影响显示计数的标签。

您需要侦听collectionChange事件的集合并手动更新collectionChange处理程序中的标签文本。