如何更新primefaces属性



我有一个<p:commandButton disabled="#{scannerStatus.disabled}" actionListener="#{scannerStatus.activate}" id="button-id"/>

在scannerStatus中我有:
private boolean disabled;//加getter和setter

public void activate() {
        this.setDisabled(true);
        boolean status = doAnAction(); // This takes some seconds
        if (!status) {
            doSomething();
        } else {
            this.setDisabled(false);
        }
    }

问题是当调用activate方法的this.setDisabled(true)行时,commandButton的disabled属性不改变。

我需要一些秒的disabled属性从commandButton是true

disabled属性设置回false,然后更新commandButton中的disabled属性。所以在commandButton中的更新发生在函数结束之后。

当方法中的this.setDisabled(true)激活时,我如何更新命令按钮的属性?

我尝试使用
RequestContext.getCurrentInstance().update("button-id");
this.setDisabled之后,但它不工作

没有经过测试,但是像这样的东西应该可以做到:

<p:commandButton 
 actionListener="#{scannerStatus.activate}" 
 id="button-id"
 onstart="document.getElementById('button-id').disabled = true;"
 oncomplete="document.getElementById('button-id').disabled = false;" />

相关内容

  • 没有找到相关文章

最新更新