修改编辑页面退出确定框怎么取消?

微信图片_20210423173142

如图,关闭的时候 或者用代码关闭的时候,不想有这个框提示

有几种方法:

  1. 重写编辑界面的 hasUnsavedChanges 方法:
@Override
public boolean hasUnsavedChanges() {
    return false;
}
  1. 重写编辑界面的 preventUnsavedChanges 方法:
@Override
protected void preventUnsavedChanges(BeforeCloseEvent event) {
    // do nothing
}
  1. 在编辑界面使用自定义的 Close Action,不检查页面改动:
public class ProductEdit extends StandardEditor<Product> {

    private final CloseAction CUSTOM_WINDOW_CLOSE_ACTION
            = new StandardCloseAction(Window.CLOSE_ACTION_ID, false);

    @Override
    protected void cancel(Action.ActionPerformedEvent event) {
        close(commitActionPerformed ?
                WINDOW_COMMIT_AND_CLOSE_ACTION : CUSTOM_WINDOW_CLOSE_ACTION);
    }
}
2 个赞

感谢 , 在此之前 用其他的方式跳过了这个机制,但是回答还是十分有益 ,感谢

1 个赞