0

Panel のコンストラクターに ChildPanel を追加しています。Panel が読み込まれると、子パネルは getData() によって返されたデータでレンダリングされます。以下はコードです。

パネル

public Panel(String aId, IModel<String> model)
    {

        super(aId);

        this.model = model;
        childPanel = new ChildPanel(MID, LoadableDetachableModel.of(this::getData));

        childPanel.setOutputMarkupId(true);
        add(childPanel);

    }
LambdaAjaxButton button = new LambdaAjaxButton("button",
        (_target, _form) -> {

            //

        });

子パネル

 public ChildPanel(String aId, LoadableDetachableModel<String> loadableDetachableModel)

    {

        super(aId);

        childModel = loadableDetachableModel;

        component = new WebMarkupContainer(MID_COMPONENT_CONTAINER);
        component.setOutputMarkupId(true);
        add(component);

    }

ボタンをクリックしたときにだけ ChildPanel がレンダリングされるようにしたいと思います。onClick イベントでそのようなことを定義するにはどうすればよいですか? また、初期化時にレンダリングしてはなりません。

4

1 に答える 1