Primefaces确认对话框在解除后保留其背景不透明度

时间:2013-09-16 22:22:37

标签: jsf primefaces jsf-2.2

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

  

将弃用ConfirmDialog的appendToBody属性   未来的版本。请使用appendTo =“@(body)”now

与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>

单击页面上的唯一命令按钮时,会出现一个对话框,其中显示两个按钮。

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

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

1 个答案:

答案 0 :(得分:1)

它与PrimeFaces Forum的确认对话框的showEffethideEffect属性相关联。

  

滥用效果属性,“true”不是有效值,   应该反弹,淡出... 4.x对错误的属性更严格   值