Скрытие первой вкладки панели аккордеона в праймерах JSF
По умолчанию первая вкладка панели гармоник прайминга показана открытой при загрузке страницы. Есть ли способ закрыть его при загрузке страницы.
Спасибо
Ответы
Ответ 1
Один подход заключается в определении widgetVar:
<p:accordionPanel widgetVar="accordion">
...
</p:accordionPanel>
И затем:
<body onload="PF('accordion').unselect(0)">
или для более старых версий PF:
<body onload="accordion.unselect(0)">
Ответ 2
Вы можете просто сделать
<p:accordionPanel activeIndex="-1">
Ответ 3
Он работает, если вы установите для activeIndex значение пустое (прайс-листы 3.4.1).
<p:accordionPanel activeIndex="">
Ответ 4
Ни один из опубликованных ответов не работал у меня в PrimeFaces 3.5.x. используя несколько режимов, но это:
<p:accordionPanel multiple="true" activeIndex="null" ... >
Ответ 5
Вы можете сделать это с помощью функции PF, как показано ниже:
PF('accordionWidgetVarName').unselect(0);
Ответ 6
Ответ для пользователей PrimeFaces 6.0:
Вы можете установить свойство widgetVar, а затем вызвать PF ('widgetVarValue'). unselect (0); как упоминал Фред Поликарпо; тем не менее, мне не удалось заставить это работать на load, и я пробовал разные вещи, например, используя событие div onload, используя remoteCommand с включенным автозапуском и даже используя пользовательский jQuery. Ни один из них не работал для события загрузки, только когда я запустил этот PF, чтобы отменить вызов в консоли.
В PrimeFaces 6.0 вы можете использовать атрибут activeIndex и устанавливать его на несколько значений, например. "1,3,5", чтобы закрыть все вкладки, но открыть 2, 4 и 6 вкладки (индексирование базы 0).