modal=true的Primeffaces对话框无法正常工作

Primefaces dialog with modal=true not working properly

本文关键字:常工作 工作 true Primeffaces 对话框 modal      更新时间:2023-09-26

我无法实现属性为modal=true的(素数面)dialog框。它在modal=false的情况下正常工作,但当我尝试设置modal=true时,即使对话框覆盖也会变为非活动状态。

我怎样才能使它正常工作?

使用Primefaces 5 appendTo="@(body)"为我修复了问题。

根据对话框部分的Primefaces Guide 2.2:

appendToBody FALSE布尔追加对话框作为文档正文的子级。

使用Primefaces对话框时,请使用appendToBody属性来查找对话框覆盖。Primefaces对话框基于YUI对话框组件,该组件在模态对话框覆盖方面也存在类似问题。

操作对话框覆盖将涉及覆盖的CSS类和指定自己的不透明度。

我也一直在与奇怪的行为作斗争,直到我将p:dialog移动到一个单独的h:form中,此时对话框中的数据与dataTable中的行匹配,但覆盖并没有隐藏。

appendToBody=true解决了覆盖的问题。我仍然需要用输入和操作来测试对话框。

appentToBody=true会导致与嵌套表单相关的问题-在对话框中输入的输入文本值被忽略,ajax请求不会通过,直到对话框获得自己的非嵌套表单。即使没有modal=true,appentToBody=true也会导致这种行为。