jQuery - самый быстрый способ удалить все строки из очень большой таблицы

Я думаю, что это синтаксис. Вам необходимо закрыть скобку в .then(response=>response.json()

componentDidMount() {
  fetch("http://localhost:3001/login")
  .then(response=>response.json()) // <-Insert a close bracket here
  .then(data=> this.setState({profileinfo:data[0].firstname}, () => console.log(this.state.profileinfo)) // <- Call console in callback
  ) // <- Remove one here
    console.log(this.state.profileinfo)
} 

и вызвать консоль в функции обратного вызова, чтобы получить правильное значение. Потому что setState является асинхронной функцией.

87
задан morgancodes 6 April 2009 в 20:36
поделиться

3 ответа

$("#your-table-id").empty();

Это - то, с такой скоростью, как Вы добираетесь.

201
ответ дан Seb 24 November 2019 в 07:39
поделиться

Здесь я вижу две проблемы:

  1. Методы jQuery empty () и remove () на самом деле вполне немного работы. См. Профилирование вызовов функций JavaScript Джона Резига , чтобы узнать почему.

  2. Другое дело, что для больших объемов табличных данных вы можете рассмотреть библиотеку сетки данных, такую ​​как превосходные DataTables , чтобы загрузить данные на лету с сервера, увеличивая количество сетевых вызовов, но уменьшая размер этих вызовов. У меня была очень сложная таблица с 1500 строками, которая работала довольно медленно, при переходе на новую таблицу на основе AJAX эти данные выглядели довольно быстро.

3
ответ дан artlung 24 November 2019 в 07:39
поделиться

если вы хотите удалить только быстро .. вы можете сделать как показано ниже ..

$( "#tableId tbody tr" ).each( function(){
  this.parentNode.removeChild( this ); 
});

, но в таблице могут быть элементы с привязкой к событиям,

в этом случае

приведенный выше код не предотвращает утечку памяти в IE ... TT и не быстро в FF ...

извините ....

0
ответ дан 24 November 2019 в 07:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: