SweetAlert всплывающее окно занимает слишком много времени, чтобы показать - PullRequest
0 голосов
/ 22 февраля 2019

Я использую Sweetalert, чтобы показать список данных (большие данные), а затем позволяю пользователям выбирать из списка данных.HTML-код для подсластителя генерируется бэкэндом, но когда я пытаюсь открыть этот список, это занимает 10-15 секунд.HTML-код уже выполняется бэкэндом, так зачем показывать, что это занимает так много времени?

Есть ли способ сократить это время?Примечание * Я использовал таблицы данных в данных HTML для отображения данных.

swal({
        title: 'Assign an User',
        html: html_text,
        customClass: 'user-table-holder',
        confirmButtonText: 'Assign',
        showCancelButton: true,
        preConfirm: function () {
            return new Promise(function (resolve, reject) {
                var user_data = {
                    id: '',
                    name: ''
                };
                if ($('input[type=radio][name=assign-user]:checked').size() > 0) {
                    user_data.id = $('input[type=radio][name=assign-user]:checked').val();
                    user_data.name = $('.user-name[data-user-id="' + user_data.id + '"]').text();
                    resolve(user_data);
                } else {
                    reject('You need to select an user');
                }
            });
        }
    }).then(function (user_data) {
        $('input[name=user]').val(user_data.id);
        $('input[name=status]').val('Inactive');
        $('.status-text').text('User assigned (' + user_data.name + ')');
        user_assigned = true;

        swal({
            title: 'User assigned',
            text: 'The user has been assigned successfully',
            type: 'success',
            timer: 2000,
            showConfirmButton: false
        }).catch(swal.noop);
    }).catch(swal.noop);

1 Ответ

0 голосов
/ 04 марта 2019

Возможно, используемый вами плагин таблиц данных требует времени.Также попробуйте удалить предопределенные классы из тела html, так как он будет искать класс и загрузить библиотеку, для загрузки которой потребуется время.

Используете ли вы шаблоны django для рендеринга этого html?

Еслида, вы никогда не должны отправлять данные в формате объектов.Попробуйте использовать values_list, который преобразует данные в виде списка запросов, и тогда он не будет выполнять запрос БД для каждого запроса.

...