プロジェクトで PrimeFaces 3.2 を使用しています。のレンダリングされた属性を<p:dialog>設定することと、目に見える属性を設定することの違いは何ですか。これらの属性のいずれかをいつ使用する必要がありますか?
2 に答える
rendered属性はサーバー側で、属性visibleはクライアント側です。このrendered属性は、JSF がダイアログの HTML 表現を生成するかどうかを示します。このvisible属性は、ブラウザのページ読み込み時に HTML/CSS/JS がダイアログをすぐに表示するかどうかを示します。
dialogWidgetVar.show()ダイアログがレンダリングされない場合、ページをリロードするか、ダイアログの親コンポーネントの 1 つを ajax 更新しない限り、たとえば JavaScript でダイアログを表示することはできず、ダイアログのrendered条件がtrue. また、visibleJavaScript で表示/非表示にできる結果の HTML 出力に何もレンダリングされないという理由だけで、ダイアログがレンダリングされない場合、属性は効果がありません。
ダイアログがレンダリングされる場合、デフォルトで非表示になります。ページが開かれるたびに、すぐにダイアログを表示するように強制するようにvisible設定できます。または、一部または属性でtrueJavaScript を呼び出して表示することもできます。dialogWidgetVar.show()onclickoncomplete
renderedダイアログをまったくレンダリングしたくない場合は、属性を使用します。たとえば、現在要求されているページ構成でダイアログが使用されることはないためです。
これらの属性のドキュメントによると、セクション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]