Как обновить tabView вне любой формы в простейших - PullRequest
0 голосов
/ 06 мая 2018

Я пытаюсь обновить tabView вне любой формы, потому что каждая вкладка имеет свою собственную форму внутри, но я также хочу скрыть все tabViews до создания родительского объекта.

Он работает только при первой загрузке формы, как и должно, но после загрузки я не могу обновить tabView.

Должен ли я добавить встроенные формы или перезагрузить всю страницу?

form.xhtml

<h:form id="frmWork">
    ...
   <p:commandButton id="btnEdit" value="#{msgs.edit}"
                    styleClass="Fright"
                    actionListener="#{workBean.edit()}"
                    update="frmWork tabView"
                    rendered="#{!workBean.editable}"/>
</h:form>
<p:tabView id="tabView" activeIndex="#{workBean.tabIndex}"
           rendered="#{!workBean.editable and workBean.work.id ne null}">
    <p:ajax event="tabChange" listener="#{workBean.onTabChange}"/>
    <p:tab id="tabDelNotes" title="#{msgs.deliverynotes}">
       <ui:include src="work_delNotes.xhtml" />
    </p:tab>
    <p:tab id="tabOrders" title="#{msgs.ord_orders}">
       <ui:include src="work_orders.xhtml" />
    </p:tab>
    <p:tab id="tabTasks" title="#{msgs.tasks}">
       <ui:include src="work_tasks.xhtml" />
    </p:tab>
    <p:tab id="tabContacts" title="#{msgs.contacts}">
       <ui:include src="work_contacts.xhtml"/>
    </p:tab>
</p:tabView>

1 Ответ

0 голосов
/ 07 мая 2018

Если rendered в вашем tabView оценивается как false, tabView не отображается и не может быть назначением update=. Вы можете поместить <h:panelGroup id="updater" вокруг вашей вкладки и использовать update="updater"

...