我在我的项目中使用 PrimeFaces 3.2。我想知道设置 a 的渲染属性<p:dialog>
与设置可见属性有什么区别。我什么时候应该使用这些属性中的任何一个?
问问题
28814 次
2 回答
32
rendered
属性是服务器端,属性visible
是客户端。该rendered
属性告诉 JSF 是否应该生成对话框的 HTML 表示。该visible
属性告诉 HTML/CSS/JS 是否应该在浏览器页面加载时立即显示对话框。
如果对话框未呈现,那么您将无法通过例如 JavaScript 显示它,dialogWidgetVar.show()
而无需重新加载页面或 ajax 更新对话框的父组件之一,以便对话框的rendered
条件评估为true
. 此外,visible
如果对话框没有被渲染,该属性也不会产生任何影响,因为没有任何内容被渲染到可以被 JavaScript 显示/隐藏的 HTML 输出。
如果对话框被渲染,那么它默认是隐藏的。您可以设置visible
为true
强制它在打开页面时立即显示对话框。dialogWidgetVar.show()
或者您可以在某些onclick
或oncomplete
属性中调用 JavaScript来显示它。
如果您根本不想呈现对话框,请使用该rendered
属性,例如因为在当前请求的页面组合中无论如何都不会使用它。
于 2012-04-07T01:21:11.910 回答
2
根据这些属性的文档,第 3.28 节:
rendered: Boolean value to specify the rendering of the component, when set to
false component will not be rendered [default value: TRUE]
visible: When enabled, dialog is visible by default [default value: FALSE]
于 2012-04-07T00:34:29.383 回答