我有一个Primefaces commandButton,它在其onComplete中调用一个数据表过滤器。该数据表由一个widgetVar引用:

<p:commandButton id="addFishBtn"
                    title="Add Fish"
                    update="fishForm:FishTbl"
                    action="#{backingBean.addFish()}"
                    oncomplete="fishTable.filter()"/>

问题是,按下此按钮时fishTable并不总是存在。它不存在,该应用程序只是卡住了。我从其他SO问题中尝试了类似的方法:
oncomplete="if(typeof(fishTable) != 'undefined') {fishTable.filter()}"

但是它似乎没有做任何事情。有什么适当的方法来检查widgetVar当前是否具有任何值?
谢谢!

最佳答案

您可以使用以下内容

if(PrimeFaces.widgets['fishTable']) {
   //widgetVar does exist
   PF('fishTable').filter();
}

10-04 17:16