2

私の改札ページには、主に JavaScript を使用して作成され、ペイントに時間がかかるツリーと動的要素があります。

私の問題は、ツリー ノードを展開するたびに Wicket がページ全体を再描画するため、javascript をリロードしてすべてを再描画することです。ツリー ノードを展開しても JavaScript には影響しないため、動的コンテンツを再描画する必要はありませんが、ユーザーはすべてが再びレンダリングされるまで数秒待つ必要があります。

ウィケットがすべてをリロードして新しいコンテンツを交換するのを止める方法はありますか? そして、これをツリー内でどのように実装できますか?

次のリンクを見つけました: http://wicketinaction.com/2008/10/repainting-only-newly-created-repeater-items-via-ajax/しかし、これを木に適用できるかどうか、またどのように適用できるかはわかりません。

更新: 以前は認識していなかった別の ajax の問題に取り組んでいる間に、問題は一緒に解決されました。したがって、今はなくなったのは副作用だったと思います。それでも感謝します。

4

1 に答える 1

2

ノードのジャンクション コンポーネントは AbstractTree#expand(T) を呼び出し、これは #updateBranch(T, AjaxRequestTarget) を呼び出します。NestedTree の場合、ブランチのみが再描画され、TableTree の場合、テーブル全体が再描画されます。

これにより、ページ全体が更新されることはありません。

AjaxRequestHandler#add(Component,String) と Component#setResponsePage(Class) にブレークポイントを設定し、誰がページ全体を更新しているかを確認します。

于 2013-11-06T08:14:15.450 に答える