GOOGLE ADS

понедельник, 9 мая 2022 г.

Обновление табулятора с 4.2 до 5.2 - Таблица не инициализирована

Я обновляю 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);
});

https://github.com/olifolkerd/tabulator/issues/3407

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...