ajax 呼び出しに基づいて、qooxdoo デスクトップ アプリケーションで動的にコンテンツを作成しています。私が作成しているコンテンツの一部には、多数のウィジェット (200 以上) が含まれています。
Google Chrome でプロファイリングを行いましたが、作成するすべてのウィジェットのコンテナーで add() を呼び出しているため、処理時間のほとんどがレイアウト マネージャーによって占められているようです。
すべてのウィジェットを追加している間にレイアウト マネージャーを一時停止し、最後に 1 回実行する方法はありますか?
コンテナに多くのウィジェットを動的に追加するためのより良いアプローチはありますか?
これが私がやっていることの例です:
var container = new qx.ui.container.Composite(new qx.ui.layout.Flow());
var groupbox = new qx.ui.groupbox.GroupBox();
groupbox.setLayout(new qx.ui.layout.Grid(10, 10));
container.add(groupbox);
// loop through data received from AJAX call and add it to the group box
var row = 0;
data.each(function(pair) {
var label = new qx.ui.basic.Label(pair.key);
var field = new qx.ui.form.TextField(pair.value);
groupbox.add(label, {row: row, column: 0});
groupbox.add(field, {row: row, column: 1});
++row;
});