Java wicket 9中的ModalDialog无法正常工作

Java wicket 9中的ModalDialog无法正常工作,java,wicket,Java,Wicket,我在wicket 9中使用模态对话框,因为旧的模态窗口类已被弃用,我对它有一些问题。wicket 9文档中没有ModalDialog示例。我不知道是我用错了还是有一些错误 公共类主面板扩展面板{ 非公开的最终ModalDialog ModalDialog; 公共主面板字符串id、IModel头项IDX、IModel collapseIdx{ 上级; setOutputMarkupIdtrue; modalDialog=新建ModalDialogmodalWindow; 添加新的AjaxLinks

我在wicket 9中使用模态对话框,因为旧的模态窗口类已被弃用,我对它有一些问题。wicket 9文档中没有ModalDialog示例。我不知道是我用错了还是有一些错误

公共类主面板扩展面板{ 非公开的最终ModalDialog ModalDialog; 公共主面板字符串id、IModel头项IDX、IModel collapseIdx{ 上级; setOutputMarkupIdtrue; modalDialog=新建ModalDialogmodalWindow; 添加新的AjaxLinkshowModalDialog{ @凌驾 public void onClickAjaxRequestTarget目标{ modalDialog.setContentnew ModalPanelcontent,MainPanel.this{ @凌驾 受保护的void closeAjaxRequestTarget目标{ modalDialog.closetarget; } }; modalDialog.opentarget; } }; addmodalDialog; } } 公共抽象类ModalPanel扩展面板{ 公共ModalPanelString id,面板调用者{ 上级; setOutputMarkupIdtrue; 添加新的AjaxLinkcancelBtn{ @凌驾 public void onClickAjaxRequestTarget目标{ 接近目标; } }; } 受保护的抽象void closeAjaxRequestTarget目标; } 问题是模态对话框打开后,它的行为与模态对话框不同


是否有人使用了ModalDialog,如果它对您有效,您可以分享您的经验吗?

您的代码在我看来还不错

您可以将其与示例进行比较:

代码: 演示:
你的代码看起来不错

您可以将其与示例进行比较:

代码: 演示: 如果将ModalDialog与引导结合使用,Wicket ModalDialog HTML模板使用的模态对话框类与同名引导类之间可能会发生冲突。特别是,引导模式对话框类关闭导致模式对话框中的单击无效的指针事件

要解决此问题,可以将引导模式内容添加到Wicket ModalDialog内容元素:

add(new AjaxLink<Void>("showModalDialog") {
  @Override
  public void onClick(AjaxRequestTarget target) {
    Panel content = new MyContentPanel("content");
    content.add(AttributeModifier.append("class", "modal-content"));
    modalDialog.open(content, target);
  }
});
或者,您可以将模态内容类添加到用于模态对话框内容的面板的HTML模板的根节点。

如果将ModalDialog与引导相结合,Wicket ModalDialog HTML模板使用的模态对话框类与同名引导类之间可能会发生冲突。特别是,引导模式对话框类关闭导致模式对话框中的单击无效的指针事件

要解决此问题,可以将引导模式内容添加到Wicket ModalDialog内容元素:

add(new AjaxLink<Void>("showModalDialog") {
  @Override
  public void onClick(AjaxRequestTarget target) {
    Panel content = new MyContentPanel("content");
    content.add(AttributeModifier.append("class", "modal-content"));
    modalDialog.open(content, target);
  }
});

或者,您可以将模态内容类添加到用于模态对话框内容的面板的HTML模板的根节点。

是否需要在wicket片段中包含模态对话框?或者我可以在wicket:panel内使用吗?panel和Fragment可以互换。片段是内联面板。模态窗口几乎可以正常工作,但通过单击按钮关闭模态不起作用?可能是什么?有必要在wicket片段内设置模态对话框吗?或者我可以在wicket:panel内使用吗?panel和Fragment可以互换。片段是内联面板。模态窗口几乎可以正常工作,但通过单击按钮关闭模态不起作用?可能是什么?你在对话中添加了主题了吗?请参阅org.apache.wicket.extensions.ajax.markup.html.modal.theme.DefaultTheme。我会尽快更新文档。@svenmeier是的,它丢失了,这是问题之一。感谢您更新文档您在对话中添加了主题了吗?请参阅org.apache.wicket.extensions.ajax.markup.html.modal.theme.DefaultTheme。我会尽快更新文档。@svenmeier是的,它丢失了,这是问题之一。感谢您更新文档