我使用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();
..有一个吸气剂和二传手但是没有用。
我没有使用正确的方法,是吗?
答案 0 :(得分:1)
通常,Binding仅查看特定对象;您无法深入查看特定属性的4个对象,并期望绑定更新值。
更改documentList不会更改meetingInfo或Model,因此永远不会触发绑定。 itemUpdated()和refresh()应该更新显示数据的基于列表的类;但不会影响显示计数的标签。
您需要侦听collectionChange事件的集合并手动更新collectionChange处理程序中的标签文本。