YUI数据表性能

时间:2013-08-09 14:13:13

标签: yui

在YUI3(3.11)中,向我的表中添加100个项目需要800毫秒。有什么方法可以优化这个(为什么这首先这么慢)?

data = data.slice(1,100)
data.forEach(function(item){
   data_table.data.add({ 'name': item });
})

1 个答案:

答案 0 :(得分:1)

DataTable.data在内部使用YUI ModelList来存储数据,这会将您的所有行转换为模型,并在您将其添加到表时触发add事件。但是,由于这个原因,它目前并不意味着会立即添加许多行。

解决问题的最佳方法可能是仅使用要显示的行重置表。你可以这样做:

data = data.slice(1, 100);
data_table.data.reset(data);

这样可以减少开销,为DataTable添加数据,并防止触发这些额外事件。