我有一个使用PrimeFaces 3.0.1在模态对话框上显示的模态ConfirmDialog。 如果ConfirmDialog为opend,则整个页面都会被锁定,包括ConfirmDialog本身... rien ne va plus
我找到了一个类似于http://code.google.com/p/primefaces/issues/detail?id=576的Primefaces的Bugreport,但由于这个bug与布局组件相关,所以这并不适用于我的情况。
是否有变通方法?
谢谢!
答案 0 :(得分:27)
使用appendToBody="true"
标记的p:dialog
属性来解决此问题。
来自PrimeFaces 5的属性已更改。如果您使用的是5+,请使用appendTo="@(body)"
,请参阅迁移指南:migration guide
(了解Primefaces版本会很有帮助)
答案 1 :(得分:4)
在它适合我的标签中使用appendTo =“@(body)”
答案 2 :(得分:1)
由于我在Dialog中需要一个提交按钮,我不幸地不得不搜索不同的解决方案,然后appendToBody =“true”。对于遇到同样问题的每个人,都有解决方案:
如果您想要以下内容:
<p:dialog modal="true">
<h:form>
...
<p:confirmDialog>
<p:commandButton action="#{transportBean.execute}" type="submit" .../>
</p:confirmDialog>
...
</h:form>
</p:dialog
这将导致完全阻止的页面。将表单元素拉高两个元素,它将起作用:
<h:form>
<p:dialog modal="true">
...
<p:confirmDialog>
<p:commandButton action="#{transportBean.execute}" type="submit" .../>
</p:confirmDialog>
...
</p:dialog
</h:form>