Primefaces Extensions BlockUI 在对话框中

Primefaces Extensions BlockUI in Dialog

提问人:Ande Hofer 提问时间:7/7/2021 最后编辑:Ande Hofer 更新时间:7/8/2021 访问量:651

问:

Primefaces 7.0、primefaces-extensions 7.0.2、JSF 2.1.19

你好

我想将 pe:blockUI 用于 p:dialog,但我发现我不能使用我在整个应用程序中使用的“正常”外部 blockUI,因为它不会阻止对话框,因此用户可以在 ajax 请求期间单击随机内容。因此,我在对话框中使用单独的 blockUI 元素来阻止对话框输入。

这是有效的,我唯一的问题是他的消息部分blockUI(“请稍候”)应该消失而没有任何替换(因为一般的blockUI消息工作正常,两个太多了)。

这怎么能做到呢?

    <p:dialog id="antragKoopUserSearch" widgetVar="antragKoopUserSearch" height="555" width="830" modal="true" closable="true">
    <f:facet name="header">Benutzer suchen zum Weitergeben</f:facet>
    <h:form id="modalPanelForm">
        <pe:blockUI id="buiModal" widgetVar="buiModal" target="antragKoopUserSearch" />
        <p:ajaxStatus id="antragKoopUserSearchStatus" onstart="PF('buiModal').block();" oncomplete="PF('buiModal').unblock();" />

感谢

primefaces jsf-2 primefaces-extensions blockui

评论

1赞 Melloware 7/7/2021
请发布一些代码,我不知道你想做什么?
0赞 Ande Hofer 7/7/2021
您好@Melloware我添加了一些代码。我想要的是阻止对话框(正在工作),而没有消息“请稍候...”在中心,因为我已经有来自另一个blockUI组件的阻止消息。为什么我使用 2 个 blockUI 组件?因为我的默认 blockUI 组件无法阻止对话框,所以我必须在对话框中放置一个 blockUI 组件来阻止它。但我不希望中间出现“请稍候......”的消息......
1赞 Vsevolod Golovanov 7/8/2021
这有点XY问题。相反,你可以问为什么你的“正常”blockUI不阻止对话框并解决这个问题。如果不看到标记,就很难分辨,但您可能需要为阻止覆盖指定更高的值。z-index
1赞 Vsevolod Golovanov 7/8/2021
@AndeHofer,这是关于 p:blockUI,而不是 pe:blockUI。而且它已经过时了。我在我的应用程序中使用 pe:blockUI 来阻止包括对话框在内的所有内容,它工作正常。尝试这样的样式: ..blockUI { z-index: 2000 !important; } .blockOverlay { z-index: 2001 !important; } .blockMsg { z-index: 2010 !important; }
1赞 Ande Hofer 7/8/2021
@Vsevolod Golovanov,作品!!太棒了,我只是惊呆了。

答:

2赞 Vsevolod Golovanov 7/8/2021 #1

你可以像这样隐藏它:

<pe:blockUI css="{opacity: 0}">
    asd
</pe:blockUI>

你确实需要那个“asd”或至少一些东西,否则它将不起作用,至少在我的 6.1.1 版本上是这样。