Primefaces 小部件中没有可用行为

问题描述 投票:0回答:1

我想通过 Javascript 填充 Primefaces inputText 字段,然后触发更改事件。根据我对 inputText 小部件文档的理解, callBehavior 函数将是正确的方法。

所以我的领域看起来像这样:

<p:inputText id="myInput" value="#{myBean.value}">
   <p:ajax event="change" update="@this" onstart="console.log('Change triggered')" />
</p:inputText>

我的 JS 函数看起来像这样

function myFun() {
   const theId = // Have to get the id dynamically
   const inputWdgt = PrimeFaces.getWidgetById(theId);
   inputWdgt.jq.val('My new value');
   inputWdgt.callBehavior('change');
}

但是结果既没有打印onstart中的日志,也没有执行更新。

在我进一步的调查中,我发现浏览器中的 cfg 对象不包含任何行为。因此,很明显,callBehavior 没有效果(因为该函数与这些相关)。 所以问题是,为什么没有为小部件定义行为?

javascript primefaces
1个回答
0
投票

这是一个错误。不敢相信没有人报告过这一点。

错误:https://github.com/primefaces/primefaces/issues/12887

公关:https://github.com/primefaces/primefaces/pull/12888

它将在 PF 14.0.8+ 中修复

© www.soinside.com 2019 - 2024. All rights reserved.