如何在检票口中禁用AjaxLink按钮?

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

我正在尝试禁用内部的小门中的AjaxLink按钮public void onClick(AjaxRequestTarget target)方法;我尝试直接致电setEnabled(false),但没有成功。我在网上看到的一些建议说要调用isEnabled() or onConfigure()方法;但是这些不能在onclick方法内部实现;有什么帮助吗?

            {
                buttonlabel.setDefaultModel(Model.of("Creating EWL"));
                target.add(buttonlabel);
                buttonlabel.setOutputMarkupPlaceholderTag(true);

                boolean isWorkItemCreated = NewRecruitEWLUtil.createNewRecruitWorkItem(appInfo);

                if (isWorkItemCreated)
                {
                    buttonlabel.setDefaultModel(Model.of("EWL Created"));
                    target.add(buttonlabel);
                    buttonlabel.setOutputMarkupPlaceholderTag(true);
                    setEnabled(false);
                    target.add(this);
                    System.out.println("setEnabled ..." + isEnabled());
                }

            }
wicket
1个回答
1
投票

setEnabled(false)是正确的方法!您还需要将AjaxLink添加到AjaxRequestTarget以便在浏览器中重新绘制:

AjaxLink link = new AjaxLink("myLink") {
    @Override
    public void onClick(AjaxRequestTarget target) {
       setEnabled(false);
       target.add(this);
    }
};
add(link);
link.setOutputMarkupId(true);
© www.soinside.com 2019 - 2024. All rights reserved.