1

使用过 Primefaces 4.0-SNAPSHOT 的人可能已经注意到以下警告。

ConfirmDialog 的 appendToBody 属性将在未来版本中弃用。请立即使用 appendTo="@(body)"

除了 Primefaces 4.0 RC1,我还有这段代码。

<h:body>
    <h:form prependId="true" id="form">

        <p:confirmDialog id="confirmDialog" 
                         widgetVar="confirmDeleteMultiple" 
                         message="Message" 
                         showEffect="true" 
                         hideEffect="true" 
                         header="Header" 
                         severity="alert" 
                         closeOnEscape="true" 
                         appendTo="@(body)"        <-----------------
                         closable="true">

            <p:commandButton id="btnYes" 
                             value="Yes" 
                             process="@this" 
                             oncomplete="confirmDeleteMultiple.hide()"/>

            <p:commandButton id="btnNo" 
                             value="No" 
                             onclick="confirmDeleteMultiple.hide()" 
                             type="button" />
        </p:confirmDialog>

        <p:commandButton oncomplete="confirmDeleteMultiple.show()" 
                         update=":form:confirmDialog" 
                         actionListener="#{testManagedBean.insert}"
                         ajax="true" type="submit" value="Submit"/>
    </h:form>
</h:body>

当单击页面上唯一的命令按钮时,将出现带有两个按钮的对话框。

按下这些按钮中的任何一个时,对话框都会消失,但背景不透明。只有在重新加载页面时,背景不透明度才会丢失。

为什么这个新版本会发生这种情况?有什么建议吗?在早期版本中,这很好。

4

1 回答 1

1

它与来自PrimeFaces 论坛的确认对话框相关联showEffet和属性。hideEffect

存在误用效果属性,“true”不是有效值,应该是bounce,fade ... 4.x对错误属性值更严格

于 2013-12-08T17:33:55.050 回答