使用过 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>
当单击页面上唯一的命令按钮时,将出现带有两个按钮的对话框。
按下这些按钮中的任何一个时,对话框都会消失,但背景不透明。只有在重新加载页面时,背景不透明度才会丢失。
为什么这个新版本会发生这种情况?有什么建议吗?在早期版本中,这很好。