繁体   English   中英

小票:我可以将模式面板与AjaxFallbackButton一起使用吗?

[英]Wicket: Can I use a modal Panel with a AjaxFallbackButton?

我有2个输入。 当我按下一个按钮(AjaxFallbackButton)时,这些输入将保存到数据库中。

如果输入之一大于10,则当我按下按钮时,我想显示一个模式面板,以询问用户是否确定他的选择。 但是模态成分没有出现。 有什么想法吗?

 @Override
     public void onSubmit(AjaxRequestTarget target) {

  if (input < 10) { //save to database
} else {
         AskingDialogPanel panel = new AskingDialogPanel("content",
       new ResourceModel("asking.title"),
       new ResourceModel("asking.message")) {
      @Override
      public void onOkClick(AjaxRequestTarget target) {
       super.onOkClick(target);

                                                    //save to database
       modalWindow.close(target);
      }

      @Override
      public void onCancelClick(AjaxRequestTarget target) {

       super.onCancelClick(target);
       modalWindow.close(target);
      }
     };
                                    panel.setOutputMarkupId(true);
                target.addComponent(panel);
                modalWindow.setContent(panel);
                modalWindow.show(target);
}

看看AjaxRequestTarget的文档。

应该通过AjaxRequestTarget#addComponent(Component)方法将其标记需要更新的组件添加到此目标。 处理目标时,将渲染其主体并将其添加到信封,并在接收到Ajax响应时在客户端刷新。

我不知道我是否还记得这个正确的(以前贯彻正确的刷新行为我有麻烦了),但我相信你只能addComponent先前添加到页面,而不是渲染/看不见的组件。 然后将更新这些和/或重新评估其可见性。

但是,我可能是错的。如果将普通Label替换为AskingDialogPanel,上述方法是否有效? (只是为了验证我说错了什么;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM