【问题标题】:conditionally show Primefaces dialog box有条件地显示 Primefaces 对话框
【发布时间】:2011-09-18 17:36:29
【问题描述】:

参考我发布的查询 Primefaces Dialog box - show it conditionally. javascript code not working

问题是当

<p:outputPanel id="dialogPanel"
            rendered="#{not reqSearchHandler.accStatusFlag}">

未呈现为呈现结果为 FALSE ,然后当我单击命令按钮时,它继续计时并且我无法进入下一页,似乎 ajax 请求永远不会完成为 oncomplete=" dlg3.show()" 需要页面中的对话框。渲染结果是 false ,它永远找不到 dlg3。

<p:commandLink id="addRequest" immediate="true" value="addreq"
                oncomplete="dlg3.show()" update="dialogPanel">
                <f:setPropertyActionListener
                    value="#{searchHandler.selectedAccIns}"
                    target="#{reqSearchHandler.checkAccStatus}" />
            </p:commandLink>

有人可以帮助我如何避免在特定条件为假时打开对话框。有什么想法吗?

【问题讨论】:

    标签: primefaces


    【解决方案1】:

    dlg3 在 dialogPanel 里面吗?为什么不发布完整的代码?
    如果是这样,那么就在调用 dlg3.show)() 之前,将 渲染条件 更改为 true(例如,通过添加动作侦听器)或只是将对话框移到面板外。

    【讨论】:

    • 要求是我有一个状态标志,如果它是 TRUE,那么我不必显示对话框,但如果它是 false,那么我必须显示这个对话框 - 而这一切当我点击命令按钮时我必须这样做。删除输出面板时,对话框总是出现。知道吗?
    • 就像我说的,你应该将状态标志设置为 true,更新你的 dialogPanel,然后调用 dlg3.show()
    • 使用对话框的可见选项自动显示。
    • 得听听PF创作者怎么说=)​​
    • 使用 Visible 工作正常。但是当 Visible = "True" 时,它会显示带有单击命令按钮的对话框,我认为这不是正确的方法。此外,当 Visible = False 并且我单击命令按钮时,它会显示不应发生的对话框。
    猜你喜欢
    • 2014-08-28
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多