我有一个广泛使用 GXT(1.2.2 版)网格的网络应用程序。如果他们进行了更改但不保存,我想警告用户。
当我在弹出对话框中使用网格时,用户离开的唯一方法是通过按钮(关闭或确定)。如果我将 SelectionListener 添加到关闭按钮,我可以进行“isDirty()”检查并警告用户。
如果我不使用对话框,则不存在离开页面的限制。用户可以点击侧边菜单,选择不同的选项卡,点击我们在每个页面上的刷新或下一页按钮。我可以监听每个人的事件,但有没有更简单的方法?类似于“卸载前”事件被触发?
或者在 GWT 1.6 中:
您无法阻止窗口关闭,但您可以提示用户单击取消,这将使页面保持打开状态。您还可以在用户选择确认窗口关闭之后但在您的页面卸载之前执行最后一次保存操作。
尝试这个:
Window.addListener(Events.Close,
new Listener<ComponentEvent>() {
public void handleEvent(ComponentEvent be) {
//Do something
}
});
或者
Window.addListener(Events.Detach,
new Listener<ComponentEvent>() {
public void handleEvent(ComponentEvent be) {
//Do something
}
});