GWT取消选择事件
好的,我的问题很简单。我可以在GWT取消选择事件,gwt,tree,Gwt,Tree,好的,我的问题很简单。我可以在树类中为选择事件添加类似事件预览的内容吗 我需要它,因为在树元素之间切换会初始化屏幕的其他部分,这可能并不总是可能的(例如,请求协同验证) structTree.addSelectionHandler(新的SelectionHandler(){ @凌驾 选举时公共无效(SelectionEvent事件){ //做点什么,或者取消选择 } }); 编辑 如果我为ClickEvent添加EventPreview,这可能会起作用,但我想知道是否有更干净的方法…Event
树
类中为选择事件
添加类似事件预览
的内容吗
我需要它,因为在树元素之间切换会初始化屏幕的其他部分,这可能并不总是可能的(例如,请求协同验证)
structTree.addSelectionHandler(新的SelectionHandler(){
@凌驾
选举时公共无效(SelectionEvent事件){
//做点什么,或者取消选择
}
});
编辑
如果我为
ClickEvent
添加EventPreview
,这可能会起作用,但我想知道是否有更干净的方法…EventPreview
不推荐使用,请改用NativePreviewHandler
和NativePreviewEvent
事件预览的思想是用于用户交互DOM事件—描述用户与浏览器交互时的物理操作的事件。这就是为什么它可以取消单击事件
相反,SelectionEvent
是一个逻辑事件-它起源于withing GWT代码,并描述小部件从用户的“物理”事件中看到的意图
但是,仍然有一种方法可以防止发生SelectionEvent
s,但它在GWT中的使用不一致-树小部件不使用它,因此这次它对您没有帮助。
其他小部件,如TabLayoutPanel
和StackLayoutPanel
在实际的SelectionEvent
关闭之前在SelectionEvent
之前触发一个before,让您有机会在选择实际发生之前取消它 明白-感谢您的明确解释!:)通过将以前选择的项存储在外部变量中并在必要时恢复它,我成功地解决了这个问题。谢谢
structTree.addSelectionHandler(new SelectionHandler<TreeItem>() {
@Override
public void onSelection(SelectionEvent<TreeItem> event) {
// Do something, or maybe cancel selection
}
});