Я обновляю Tabulator 4.2.7 до 5.2, и у меня не инициализируется таблица. Я просто заменил ссылку CDN на новую. Есть ли что-то еще, что я должен делать?
<link href="https://unpkg.com/tabulator-tables@4.2.7/dist/css/tabulator.min.css" rel="stylesheet">
<script type="text/javascript" src="https://unpkg.com/tabulator-tables@4.2.7/dist/js/tabulator.min.js"></script>
<!--
<link href="https://unpkg.com/tabulator-tables@5.2.3/dist/css/tabulator.min.css" rel="stylesheet">
<script type="text/javascript" src="https://unpkg.com/tabulator-tables@5.2.3/dist/js/tabulator.min.js"></script>
-->
Решение проблемы
Это правильное поведение с версии 5.0, поэтому вы видите сообщение в консоли.
Использование свойства данных в конструкторе таблицы — это правильный способ инициализации данных таблицы.
Это происходит из-за того, что Tabulator теперь инициализируется асинхронно, это происходит по двум причинам: во-первых, чтобы разрешить согласованную инициализацию между асинхронными и синхронными источниками данных, во-вторых, чтобы разрешить привязку событий к таблице до завершения инициализации, чтобы поймать такие вещи, как tableBuilt мероприятие.
Если вы хотите продолжать использовать setData для инициализации данных в вашей таблице (что не нужно, если вы правильно инициализируете данные в таблице с помощью параметра настройки данных), вам нужно вызвать его в событии tableBuilt, которое запускается после таблица была полностью инициализирована
table.on("tableBuilt", function(){
table.setData(data);
});
Комментариев нет:
Отправить комментарий