检查PrimeFaces widgetVar是否存在

Check if PrimeFaces widgetVar exists

本文关键字:存在 是否 widgetVar PrimeFaces 检查      更新时间:2023-09-26

我有一个Primefaces命令按钮,它在其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();
}