Jatery Datatables оптимизируют вставку нескольких строк HTML - PullRequest
0 голосов
/ 09 октября 2019

Есть ли лучший способ вставить массив строк таблицы HTML в существующий экземпляр с данными?

В настоящее время я делаю это так:

var rows = ['<tr><td>row 1</td></tr>','<tr><td>row 2</td></tr>','<tr><td>row 3</td></tr>' ...];
$.each(rows,function(i,row){
 if(row){
  oTable.row.add($(row)).draw();
 }
});

Работает нормально, ностановится действительно медленным при работе с более чем 100 строками, для рендеринга 1000 строк требуется минута.

Есть предложения? Спасибо

1 Ответ

0 голосов
/ 09 октября 2019

Не берите в голову, что я нашел способ оптимизировать это, я оставлю здесь ответ для других людей, ищущих то же самое.

Вместо:

var rows = ['<tr><td>row 1</td></tr>','<tr><td>row 2</td></tr>','<tr><td>row 3</td></tr>' ...];
$.each(rows,function(i,row){
 if(row){
  oTable.row.add($(row)).draw();
 }
});

Я сделал это:

var rows = ['<tr><td>row 1</td></tr>','<tr><td>row 2</td></tr>','<tr><td>row 3</td></tr>' ...];
$.each(rows,function(i,row){
 if(row){
  oTable.row.add($(row));
 }
});
oTable.draw();

Другими словами, вместо перерисовки таблицы при каждой вставке строки я сначала добавил все строки, а затем обновил таблицу в конце цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...