Как отключить кнопку AjaxLink в калитке? - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь отключить кнопку 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());
                }

            }

1 Ответ

1 голос
/ 27 мая 2020

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);
...