规范 - 如何更新保持当前选择的树列表?
Spec - how to update a tree list keeping current selection?
我正在显示一棵树,我需要添加一个元素,但我想保留当前选中的项目。
如果我这样做:
oldSelectedItem := treePresenter selectedItem.
treePresenter
roots: newRootCollection;
selectItem: oldSelectedItem
当然可以,但是有一个问题:激活事件(whenActivatedDo:
)会被触发,我不知道这是什么!
我怎样才能避免它?
规范中的树和树表实现了 API updateRootsKeepingSelection:
以防止这种情况发生。
实际操作和上面的代码一样,但是不会触发任何激活,也不会激活传输。
此代码:
treePresenter updateRootsKeepingSelection: newRootCollection
与原代码效果相同,但执行时不会触发激活
(当然,要正常工作,需要新的集合包含之前选择的元素)。
我正在显示一棵树,我需要添加一个元素,但我想保留当前选中的项目。 如果我这样做:
oldSelectedItem := treePresenter selectedItem.
treePresenter
roots: newRootCollection;
selectItem: oldSelectedItem
当然可以,但是有一个问题:激活事件(whenActivatedDo:
)会被触发,我不知道这是什么!
我怎样才能避免它?
规范中的树和树表实现了 API updateRootsKeepingSelection:
以防止这种情况发生。
实际操作和上面的代码一样,但是不会触发任何激活,也不会激活传输。
此代码:
treePresenter updateRootsKeepingSelection: newRootCollection
与原代码效果相同,但执行时不会触发激活
(当然,要正常工作,需要新的集合包含之前选择的元素)。