我正在基于 ajax 调用在 qooxdoo 桌面应用程序中动态创建内容。我正在创建的一些内容中有很多小部件(大约 200 多个)。
我用谷歌浏览器做了一些分析,看起来大部分处理时间都被布局管理器占用了,因为我在容器上为我创建的每个小部件调用 add()。
有没有办法在我添加所有小部件时暂停布局管理器,然后让它在最后运行一次?
是否有更好的方法可以将大量小部件动态添加到容器中?
这是我正在做的一个例子:
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;
});