Я хочу изменить вкладку, нажав команду commandButton. Я контролирую activeIndex в своем компоненте и делаю обновление компонента tabView. Все работает нормально.Изменить вкладку при нажатии кнопки без обновления tabView
Моя проблема заключается в том, что я хочу изменить activeIndex без необходимости делать обновление на tabView, потому что обновление этого компонента немного медленное.
Можно ли изменить вкладку, нажав на кнопку, и сделать это без обновления?
Вот мой фактический код.
TabView компонент
<p:tabView id="tvFoo" dynamic="true" activeIndex="#{fooBean.activeIndex}">
<p:tab title="Title" id="someTab">
<ui:include src="someTabName.xhtml" />
</p:tab>
<p:tab title="Title2" id="anotherTab">
<ui:include src="anotherTabName.xhtml" />
</p:tab>
</tabView>
внутри someTabName.xhtml
<p:commandButton value="go to anotherTab" actionListener="#{fooBean.tabChange('anotherTabName')}" />
fooBean, который контролирует вкладки изменить
public void tabChange(String tabId) {
switch (tabId) {
case "anotherTabName":
activeIndex = 2;
RequestContext.getCurrentInstance().update("tvFoo"); //here is the line that I don't want to call
break;
}
Могу ли я удалить эту строку, RequestContext.getCurrentInstance().update("tvFoo");
? Конечно, если просто удалить, вкладка не будет изменена.
Чтобы возобновить работу, в основном я хочу изменить открытую вкладку. Я думаю, что я могу добиться этого, вызвав событие changeTab вручную, но я не знаю, как это сделать.
извините, мастер не то, что я хочу. –