Вопрос по jsf, primefaces – Разница между визуализированными и видимыми атрибутами <p:dialog>

15

Я использую PrimeFaces 3.2 в своем проекте. Я хотел знать, в чем разница между установкой @ Визуализац атрибут<p:dialog> в отличие от установки Видимым атрибут. Когда я должен использовать любой из этих атрибутов?

Ваш Ответ

2   ответа
28

renderedтрибут @ на стороне сервера, аvisibleтрибут @ на стороне клиента.renderedтрибут @ указывает, должен ли JSF генерировать HTML-представление диалога или нет.visibleтрибут @ указывает, должен ли HTML / CSS / JS немедленно отображать диалоговое окно при загрузке страницы браузер

Если диалог не отображается, вы не сможете его отобразить, например, с помощью JavaScriptdialogWidgetVar.show() без перезагрузки страницы или ajax-обновления одного из родительских компонентов диалога таким образом, чтобы диалогrendered условие оценивается какtrue. Так жеvisibleтрибут @ не будет иметь никакого эффекта, если диалоговое окно не будет отображено просто потому, что в итоговом HTML-выводе ничего не отображается, что может быть показано / скрыто с помощью JavaScript.

Если диалог отображается, то по умолчанию он скрыт. Вы можете установитьvisible вtrue, чтобы заставить его отображать диалоговое окно немедленно при открытии страницы. Или вы можете вызвать JavaScriptdialogWidgetVar.show() в некоторыхonclick илиoncomplete атрибут, чтобы показать это.

Использоватьrendered атрибут, если вы вообще не хотите отображать диалоговое окно, например, потому что оно никогда не будет использовано в текущей запрошенной композиции страницы.

Я размышлял в том же духе, но не мог понять этого. Спасибо за это; теперь это имеет смысл. Nick Rolando
Спасибо за хорошее объяснение, очень полезно! Nikhil
@ Jimit: эквивалент диалогов PFvisible атрибут - это RF модальной панелиshowWhenRendered. Видимо, вы установили это наtrue также BalusC
@ Nikhil: пожалуйста. BalusC
@ BalusC У меня есть один вопрос. в richface rich: modalPanel, если я сделаю modalPanel render = true, тогда на экране появится панель модели. все хорошо. Но то же самое, что я пробовал для простых лиц p: диалог. это не сработало, поэтому я заменил визуализацию видимым тегом, и это нормально работает для p: dialog. Я не понимаю, для этого сценария, почему отображается не работает для диалога начальных границ. где он отлично работает для модельной панели richfaces. Jimit Tank
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]
visible: When enabled, dialog is visible by default [default value: FALSE] Это сбивает с толку o.O Так по умолчанию он отключен, по умолчанию его не видно? Nick Rolando
@ Шреддер согласился, но это прямо из документации: S Óscar López

Похожие вопросы